回答編集履歴
4
修正
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
```
|
13
|
+
```C#
|
14
14
|
|
15
15
|
string json; // JSON文字列
|
16
16
|
|
3
サンプルコードを要望に沿ったものに修正
test
CHANGED
@@ -16,11 +16,11 @@
|
|
16
16
|
|
17
17
|
var root = (JContainer)JToken.Parse(json);
|
18
18
|
|
19
|
-
var
|
19
|
+
var log = root.DescendantsAndSelf()
|
20
20
|
|
21
21
|
.OfType<JProperty>()
|
22
22
|
|
23
|
-
.Select(p => p.Name)
|
23
|
+
.Select(p => p.Name + ": " + p.Value) // 「task_id: 10」という風になる
|
24
24
|
|
25
25
|
.ToArray();
|
26
26
|
|
2
修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
クラスの
|
1
|
+
クラスのプロパティをリフレクションを使って取り出す方法は非常に重いのであまりおすすめできません。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
であればクラスにしてからプロパティを読み取るなんてまどろっこしいことしなくても直にjson文字列から処理できますよ。
|
8
8
|
|
9
|
-
以下のコードで全
|
9
|
+
以下のコードで全プロパティ(深い階層含む)を取れます。
|
10
10
|
|
11
11
|
|
12
12
|
|
1
補足追加
test
CHANGED
@@ -25,3 +25,11 @@
|
|
25
25
|
.ToArray();
|
26
26
|
|
27
27
|
```
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
階層別に格納したい等もいくらでも対応できるので、いろいろ調べてみると今後もなにかと応用がききます。
|
32
|
+
|
33
|
+
公式ドキュメントは参考になるので是非読んでみてください。全部英語ですが、ほとんどコードなのできっと問題なく読めます。
|
34
|
+
|
35
|
+
[Querying JSON with LINQ](http://www.newtonsoft.com/json/help/html/QueryingLINQtoJSON.htm)
|