2017-08-28 3 views
0

トークンを取得するにはList<String>に?ここ
は、JSON文字列です:C#Newtonsoft.Jsonで使用するオブジェクトのjson配列を抽出します。

{ 
    "error": null, 
    "jsonrpc": "2.0", 
    "id": 0, 
    "result": { 
     "paginator": null, 
     "cat_count": {}, 
     "last_post_date": 386623075949839, 
     "post_list": [ 
      { 
       "hc": false, 
       "p2": 4, 
       "token": "LnARJZCmt" 
      }, 
      { 
       "hc": false, 
       "p2": 4, 
       "token": "BuD2oIs3N" 
      }, 
      { 
       "p2": 4, 
       "token": "89NaBsAha", 
       "hc": false, 
      } 
     ], 
     "error": 0 
    } 
} 

私はここでNewtonsoft.Json
を使用しています私が試したものです:

var obj = JObject.Parse(json); 
    string next_search_val = (string)obj["result"]["last_post_date"]; 
    var tokens = obj["result"]["post_list"]["token"]; > Fix this line for me > I have error here 

答えて

2

私は

var tokens = JObject.Parse(json) 
       .SelectTokens("$..token") 
       .Select(x => (string)x) 
       .ToList(); 

EDIT

を使用しますJsonPathなし

同じこと

var tokens = JObject.Parse(json) 
       .Descendants() 
       .OfType<JProperty>() 
       .Where(x => x.Name == "token") 
       .Select(x => x.Value) 
       .ToList(); 

EDIT 2

最も近いもの、あなたの試み

var tokens = JObject.Parse(json)["result"]["post_list"] 
       .Select(x => (string)x["token"]) 
       .ToList(); 
+0

$ ..>にそれが何を意味するのですか? – MoonLight

+0

@MoonLight [JSONとJSONのクエリ](https://www.newtonsoft.com/json/help/html/QueryJsonSelectTokenJsonPath.htm) –

+0

感謝しています。 – MoonLight

関連する問題