Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将JSON数据反序列化为datatable或多维数组_Sql_Json_Serialization - Fatal编程技术网

Sql 将JSON数据反序列化为datatable或多维数组

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

我将反序列化(在VB.NET或C#)一个JSON文件,该文件是以这种数据格式从URL接收的

"{"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

如果这样做,基本上就是将
名称
姓氏
的值存储在
人员
对象中,这些对象保存在
列表
对象中。根据您正在做的事情,这可能不是您想要的,但是如果您不想将数据存储在对象中,希望它可以帮助您看到一些可能性