📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の1版が非表示) | |||
| 449行目: | 449行目: | ||
このアプローチは、動的なJSONデータの処理やJSONの構造が事前に完全には分からない場合に有効である。<br> | このアプローチは、動的なJSONデータの処理やJSONの構造が事前に完全には分からない場合に有効である。<br> | ||
<br> | <br> | ||
また、LINQ to | また、LINQ to JSONは、C#標準LINQクエリ構文と組み合わせて使用することもできるため、より複雑なJSONデータの操作や検索を行うことができる。<br> | ||
<br> | |||
また、C#標準のLINQクエリ構文を組み合わせて使用する場合、JSONの構造が複雑であっても、特定の条件に合う要素を柔軟に見つけることができる。<br> | |||
例えば、オブジェクトが複数存在する場合やネストされた構造の中に存在する場合でも、全ての該当箇所を編集することができる。<br> | |||
<br> | <br> | ||
| 663行目: | 666行目: | ||
JObject jsonObject = JObject.Parse(jsonContent); | JObject jsonObject = JObject.Parse(jsonContent); | ||
// appName. | // appName.impの配列を変更 (LINQ to JSONを使用する場合) | ||
jsonObject["appName"]["imp"] = new JArray("hoge", "piyo"); | jsonObject["appName"]["imp"] = new JArray("hoge", "piyo"); | ||
// appName.impの配列を変更 (通常のLINQを使用する場合) | |||
//var appNameObjects = jsonObject.Descendants() | |||
// .OfType<JProperty>() | |||
// .Where(p => p.Name == "appName") | |||
// .Select(p => p.Value as JObject); | |||
//foreach (var appName in appNameObjects) | |||
//{ | |||
// if (appName != null && appName["imp"] is JArray impArray) | |||
// { | |||
// // "imp"配列の内容を変更 | |||
// impArray.Replace(new JArray("hoge", "piyo")); | |||
// } | |||
//} | |||
// 変更したJSONを新しいファイルに書き込む | // 変更したJSONを新しいファイルに書き込む | ||