我从我们的数据提供者那里得到了一个Json文件,但没有任何有关内部数据的数据类型的信息。 Json仅包含数据,一个条目看起来像这样(这是调查数据,一个条目是一个人的数据):
{"data":["4482359","12526","2014 Company Y","2","3","1"]}
我反序列化了文件,现在将其放在对象中,但是所有条目都是字符串。我想将其导入数据库,但每个条目都应具有最适合它的数据类型。例如。 1是int16,2014公司Y是字符串。实际上,我只有Int16和String,仅此而已。为了将其导入数据库,我特别需要等效的Sql Server数据类型。不幸的是,由于每个查询的数据顺序都不相同,因此无法将数据类型硬编码到“表创建命令”中。例如。首先,我收到具有上述结构的Survey 1数据。但是也许几天后,我需要像这样的其他数据
{"data":["4482359","2","3","1","12526","2015 Company X"]}
反序列化Json数据我有一个对象(RootObject),带有一个名为data的List(字符串)。第一个字符串为“ 4482359”,第二个字符串为“ 2”,第三个字符串为“ 3”,依此类推。
Public Class RootObject
Public Property data As List(Of String)
End Class
Public Class RootObjectDatatype
Private _rootObject As RootObject
Public Sub New(ByRef rootObject As RootObject)
For Each str As String In rootObject.data
If str > 0 And str < 50000 Then
jsonDatatype.Add("Int")
Else
jsonDatatype.Add("Varchar(" & str.Count & ")")
End If
Next
End Sub
Public Property jsonDatatype As List(Of String)
End Class
但这还行不通。