Sql 将JSON数据反序列化为datatable或多维数组
我将反序列化(在VB.NET或C#)一个JSON文件,该文件是以这种数据格式从URL接收的Sql 将JSON数据反序列化为datatable或多维数组,sql,json,serialization,Sql,Json,Serialization,我将反序列化(在VB.NET或C#)一个JSON文件,该文件是以这种数据格式从URL接收的 "{"350.20 AAA": [], "350.200 BBB": [{"name":"arold","surname":"winter"}, {"name":"Rinald","surname":"Mik
"{"350.20 AAA":
[],
"350.200 BBB":
[{"name":"arold","surname":"winter"},
{"name":"Rinald","surname":"Miki"},
],
"350.201 DRA":
[{"name":"Annie","surname":"List"},
{"name":"Rudolf","surname":"Mann"},
]
}"
我需要管理接收到的数据以写入oracle数据库
我试过使用JSON.NET库
Dim table = JsonConvert.DeserializeObject(Of Dictionary(Of String,
DataTable))(json_result).Values.SingleOrDefault()
其中“json_result”是从URL获取的字符串
但是,只有当JSON文件包含一条级别为1(es.“350.200 BBB”)的记录,并带有corrispondant嵌套记录时,它才会运行
级别1的记录可能为空
我如何处理这个问题
提前感谢您的帮助。您可以尝试添加以下类:
Public Class Person
Public name
Public surname
End Class
然后使用以下行获取对象:
Dim jsonThingy As Object = JsonConvert.DeserializeObject(Of Dictionary(Of String, List(Of Person)))(json_result)
这将允许您访问对象:
Dim personListA = jsonThingy("350.20 AAA")
Dim personListB = jsonThingy("350.200 BBB")
Dim personListC = jsonThingy("350.201 DRA")
Dim FirstBPerson
If personListB.Count > 0 Then
FirstBPerson = personListB(0)
Dim name = FirstBPerson.name
End If
personListA
在列表中没有对象,因此它的计数将为0
如果这样做,基本上就是将名称和姓氏的值存储在人员对象中,这些对象保存在列表对象中。根据您正在做的事情,这可能不是您想要的,但是如果您不想将数据存储在对象中,希望它可以帮助您看到一些可能性