使用JSON.NET(vb)分离JSON对象

时间:2015-11-02 18:34:53

标签: json vb.net parsing asp.net-web-api json.net

我在分离JSON对象时遇到问题。在json字符串里面有3个对象。一个叫做“JSONData”,我需要把它分成它自己的对象。我已经尝试了很多我开始失去轨道的东西。其中两个似乎最有帮助的是下面。但是,它们最终都是空的。没有错误,只是空的。希望有人可以帮忙!

Dim j As String = JsonConvert.SerializeXmlNode(xml) 'Started out as XML
Dim o As JObject = JsonConvert.DeserializeObject(j) 'Then Json String to JObject
Dim channel As JObject = DirectCast(o("JSONData"), JObject) 'Try #1 to separate
'/// or
Dim jsondata As String = o.Item("JSONData") 'Try #2
'/// i have tried both above with ("IMSXMLLog.JSONData") as well. Same Result.

screencast https://jsfiddle.net/jharris8567/v23kj42v/ - 完整JSON

1 个答案:

答案 0 :(得分:2)

JSONData位于另一个对象IMSXMLLog内,因此您使用路径IMSXMLLog.JSONData的倾向是正确的。但是,JToken上的索引器不支持路径,只支持单个属性名称。要使用路径语法,您需要使用SelectToken方法:

Dim data as JObject = DirectCast(o.SelectToken("IMSXMLLog.JSONData"), JObject)

小提琴:https://dotnetfiddle.net/Wu70Tu