簡體   English   中英

從C#中的json字符串中查找所有出現的值

[英]Find a value of all occurrences from the json string in c#

我有一個包含一些數據的JSON對象,我想獲取每次出現的特定鍵名的所有值。 是否有任何預定義的方法來搜索JSON對象中所有出現的鍵或需要編寫用戶定義的方法?

樣本傑森

[{"id":"23","name":"sunny","className":"2","class" :{"className":"1","class2" :{"className":"3","class" :{"className":"4"}}}}]

這可以通過使用帶有遞歸路徑..classNameSelectTokens方法,使用LINQ to JSON來實現。

class Program
{
    static void Main(string[] args)
    {
        JObject jObject = JObject.Parse(jsonString);

        // You would use this because you have an array.
        // JArray jObject = JArray.Parse(jsonArray);

        // .. - recursive descent
        var classNameTokens = jObject.SelectTokens("..className"); 
        var values = classNameTokens.Select(x => (x as JValue).Value);
    }

    static string jsonString = @"{'id':'23','name':'sunny','className':'2','class' :{'className':'1','class2' :{'className':'3','class' :{'className':'4'}}}}";
    static string jsonArray = @"[{'id':'23','name':'sunny','className':'2','class' :{'className':'1','class2' :{'className':'3','class' :{'className':'4'}}}}]";
}

參考文獻:

Json.NET-文檔-解析JSON

Json.NET 6.0版本1-JSONPath和F#支持

JSONPath表達式

暫無
暫無

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

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