簡體   English   中英

C#使用Newtonsoft.Json提取對象的json數組

[英]C# Extract json array of objects using with Newtonsoft.Json

如何獲取List<String>所有令牌
這是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

我會用

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

編輯

沒有JsonPath也是一樣

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

編輯2

最接近您的嘗試

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM