1

我试图通过简单地反序列化 json-text/string:

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

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

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

编辑

多解释一下..问题是,如果我稍后会在 VS-watch 中键入以下内容:

jObject

它会给出结果:

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

jObject.Children().First()

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

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

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

{ "mytest":"myvalue" }

由于那是“myjson”属性的实际子对象..所以问题是..我如何获得我真正想要的行为?还是我错过了什么?

4

1 回答 1

0

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

JToken child = jObject["myjson"];

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

string childInString = JsonConvert.SerializeObject(child);

希望有所帮助。

于 2017-10-05T17:29:36.797 回答