NewtonsoftJson反序列化、JProperty和JObjects



我试图通过以下操作来反序列化json文本/字符串:

var jObject = JsonConvert.DeserializeObject<JObject>(myjsonstring);

问题是,我稍后需要遍历jObject。。因为我稍后将使用特殊格式将其"序列化"回XML。但这种反序列化为json中的每个"节点"提供了一个JProperty和一个JObject。。有没有办法告诉序列化程序Im只关心JProperty或JObjects。

===============

编辑

再解释一下。。问题是,如果我稍后在VS手表中键入以下内容:

jObject

它会给出这样的结果:

{ "myjson":{ "mytest":"myvalue" } }

jObject.Children().First()

会给我手表的以下结果/响应:

{"myjson":{ "mytest":"myvalue" } }

但我认为更合乎逻辑的结果/回应是:

{ "mytest":"myvalue" }

由于这是"myjson"-属性的实际Child对象。。所以问题是…我如何才能得到我真正想要的行为?还是我错过了什么?

要访问JObject内部的值,我使用JToken:

JToken child = jObject["myjson"];

如果你想检索字符串中的值,你可以序列化JToken

string childInString = JsonConvert.SerializeObject(child);

希望有帮助。

相关内容

  • 没有找到相关文章

最新更新