我在Visual Studio 2015的Visual Basic程序中使用Newtonsoft.Json(http://www.newtonsoft.com/json)。
Dim jObject As Newtonsoft.Json.Linq.JObject = Newtonsoft.Json.Linq.JObject.Parse(jsonString)
jsonString是:
{
"total": 2,
"0":{
"name": "component 0",
"primary": "R"
},
"1":{
"name": "component 1",
"primary": "C"
}
}
如何从jObject获取子词典的所有键(在这种情况下:" 0"和" 1")?
顺便问一下,VB中的newtonsoft是否有很好的API文档?在C#中有这么多,但在VB中很少。很难在我的程序中使用它们。感谢。
答案 0 :(得分:1)
由于您尝试反序列化的对象没有强类型,我认为您的选项有限。
您可以反序列化为Dictionary(字符串,对象)。
Dim myObj as Dictionary(of string, object)
myObj = JsonConvert.DeserializeObject(of Dictionary(of string, object))(json)
如果你对json有任何控制并且可以使这些元素(不是“total”元素)成为他们自己的数组,那么你可以创建一个反序列化的类。
如果你有能力调整json(根据@BAE的评论),宁可看下面的内容。
{
"total": 2,
"Items": [
"0":{
"name": "component 0",
"primary": "R"
},
"1":{
"name": "component 1",
"primary": "C"
}]
}