大家好日子。 我想知道怎么可能(如果是)做这样的技巧(我使用的是c#和NewtonSoft JSON库) 1.如果我寻找官方文档,就有这样的例子:`
string json = @"{
'Email': 'james@example.com',
'Active': true,
'CreatedDate': '2013-01-20T00:00:00Z',
'Roles': [
'User',
'Admin'
]
}";
Account account = JsonConvert.DeserializeObject<Account>(json);
Console.WriteLine(account.Email);`
我同意,如果有效的话。我可以使用Email AS KEY找到Email
VALUE。
但是,如果我不知道我得到的KEY,我怎么能找到所有对(Key:Value)?例如,如果我有一些JSON,如:
"1": { "2": "3", "4": "5" }
"a": { "b": "c", "d": "e" }
如果我硬编码KEYS,我可以找到VALUE,如:
dynamic JSONOutput = JsonConvert.DeserializeObject(HTMLOutput);
Console.WriteLine(JSONOutput["1"]["2"]); //Output is 3
Console.WriteLine(JSONOutput["1"]["4"]); //Output is 5
Console.WriteLine(JSONOutput["a"]["b"]); //Output is c
Console.WriteLine(JSONOutput["a"]["d"]); //Output is e
但是如何才能获得“1,2,a,d”等密钥呢? Thanx适合所有人
答案 0 :(得分:2)
如果您按如下方式解析JSON:
var jObj = JObject.Parse(jsonString);
你可以迭代它的属性:
foreach(var kvp in jObj.Cast<KeyValuePair<string,JToken>>().ToList())
{
//kvp.Key
//kvp.Value
}