【发布时间】:2019-11-08 21:35:59
【问题描述】:
我在 VB.net 中遇到一个问题,远程系统以 System.Collections.Generic.List 的形式向我返回 Json 对象列表。我可以遍历列表并获取每一行,它是一个看起来有点像这样的 JsonObject
{
"Demo": {
"_id": "8ebf5297-64bb-4c92-9883-0b528e3af26c",
"_type": "cname",
"status": "pending",
"batch": 0,
"action": null,
"number": "2135551212",
"cname_text": "DEMO CENAME",
"history": {
"created_on": "2019-11-08T12:41:56.1182915-08:00",
"created_by": "DEMO",
"batch_date": "0001-01-01T00:00:00"
}
}
}
那么如何将其转换为常规对象,以便我可以轻松访问这些值? 我试过了
Dim myData = JObject.Parse(row)
和
Dim myData = JsonConvert.DeserializeObject(Of Dictionary(Of String, Object))(row)
两者都会产生错误
发生“System.InvalidCastException”类型的未处理异常 在 Microsoft.VisualBasic.dll 中从类型 'JObject' 转换为类型 “字符串”无效。
【问题讨论】:
-
也许这个论坛上的这篇文章可能会有所帮助:stackoverflow.com/questions/13416497/…
-
并非如此,因为它没有解决导致错误的原因
-
您需要实际创建一个反映 json 结构的对象并反序列化为该对象
-
你使用数据访问:something = myData("Demo")("_id").tostring
标签: vb.net