我有一个JSON字符串,看起来与此类似:反序列化JSON选择对象从JSON字符串
{
"automatic" : "true",
"brainstorm" : "1000",
"zombies" : [{ "Name" : "Fred", "Grrh" : "50" }, { "Name" : "Sally", "Grrh" : "67" }, { "Name" : "Chris", "Grrh" : "23" }],
"nightSkyRadius" : "30"
... could be anything here or at the same level as zombies ...
}
所以,在我的情况,我知道数组中的僵尸对象将始终是相同的。但除此之外我什么都不知道。也就是说,可以有与zombies
值相同的任意数量的值。
所以我的问题是,我如何使用Json.NET反序列化只有我的zombies
?我不知道其他值是什么(如果值是正确的术语),所以我不能只创建一个描述传入的Json字符串的对象。所以我想我可以从json字符串中选择zombies
,然后反序列化它。
但是,我想,我不得不写一个字符串解析器,将zombies
.. ..这似乎是一个额外的不必要的步骤。不能Json.NET
为我做这个?
此外,我试过JsonConvert.DeserializeObject<dynamic>(responseString);
,但只能处理在响应字符串中指定了一个僵尸的情况。
谢谢,我希望zombies
使这个问题似乎冷却器笑
我现在的代码库要求列表在'JToken's中,你知道我该如何得到列表吗?表示“僵尸”对象的'JToken'。 – visc
就我个人而言,我不认为你正在使用JTokens来帮助你,因为它只有当你不确定它里面会发生什么时才会使用它。既然你只想将僵尸对象反序列化为一个已定义的对象,将会使它更容易处理。https://stackoverflow.com/questions/38211719/json-net-why-use-jtoken-ever –
对,但在我的情况下,我不能完全改变实现。虽然好点。编辑:我正在使用'JToken' – visc