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

使用JSON.NET(vb)分离JSON对象,json,vb.net,parsing,asp.net-web-api,json.net,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

我在分离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.

-完整的JSON

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

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

小提琴:啊!太接近了!!非常感谢!