Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#将json解析为泛型集合_C#_.net_Json - Fatal编程技术网

C#将json解析为泛型集合

C#将json解析为泛型集合,c#,.net,json,C#,.net,Json,解析Google Plus JSON对象 使用C#和Newtonsoft.Json库如何解析以下Json代码 [["tsg.lac", [[["3a4a7e8e0b3d5d66"],["Friends",null,"Your real friends, the ones you feel comfortable sharing private details with.",null,null,null,null,null,null,2,2,null,"00000000",1,1,1]] ,[["

解析Google Plus JSON对象

使用C#和Newtonsoft.Json库如何解析以下Json代码

[["tsg.lac",
[[["3a4a7e8e0b3d5d66"],["Friends",null,"Your real friends, the ones you feel comfortable sharing private details with.",null,null,null,null,null,null,2,2,null,"00000000",1,1,1]]
,[["5947b6d78a8231f3"],["Family",null,"Your close and extended family, with as many or as few in-laws as you want.",null,null,null,null,null,null,2,2,null,"00000001",2,1,1]]
,[["22d0e3ec8c38fa24"],["Acquaintances",null,"A good place to stick people you've met but aren't particularly close to.",null,null,null,null,null,null,2,2,null,"00000002",5,1,1]]
,[["1adf9b0b0987c2ad"],["Following",null,"People you don't know personally, but whose posts you find interesting.",null,null,null,null,null,null,2,2,null,"00000003",6,1,1]]
,[["15"],["Blocked",null,null,null,null,null,null,null,null,2,1,null,"z9",null,1,1]]]
,[]
]
]
如果不知道原始结构,基本上如何解析Json?
是否可以将其解析为通用的键/值集合?

我认为答案取决于您想对数据做什么。如果您希望提取特定的信息片段,我将构建一个类,该类包含您希望使用的元素,并具有其余元素的占位符,然后反序列化到该类中

您可以先序列化一个示例类,并验证它生成的输出是否与您试图解析的相同,从而验证该类是否正确构造。

您可以使用

JsonConvert.DeserializeObject<ElementType>("your json string here");
(我从某处提取的这个,它与您的JSON结构不对应) 它必须捕获您的JSON结构。

您可以像

JArray jobj = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(jStr);
foreach (var x in jobj[0][1])
{
     Console.WriteLine(x[0][0] + " " + x[1][2]);
}
输出将是

3a4a7e8e0b3d5d66你真正的朋友,那些你愿意与之分享私人细节的朋友。 5947b6d78a8231f3您亲密的大家庭,有多少姻亲就有多少。 22d0e3ec8c38fa24是一个很好的地方,可以吸引你见过但不是特别亲近的人。 1adf9b0b0987c2ad您个人不认识的人,但您觉得他们的帖子很有趣


PS:这是一个非常好的工具,可以帮助您

我的问题不是构建适合此数据的类,而是将任何json类解析为键/值集合,以便我以后可以访问该数据。老兄,这就像一个魔咒,正是我要找的。感谢您获得了JsonView。查看JSON对象的结构确实很有帮助。谢谢
JArray jobj = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(jStr);
foreach (var x in jobj[0][1])
{
     Console.WriteLine(x[0][0] + " " + x[1][2]);
}