将对象或数组转换为没有列名的JSON

时间:2018-12-08 16:56:03

标签: vb.net

我需要将VB.Net数组转换为JSON但没有列名,我有这个:

enter image description here

然后使用此代码,我将其序列化:

 Dim serializer As New JavaScriptSerializer
 Dim t As String = serializer.Serialize(filas)

但是结果是这样的:

[""430"",""482"",""12"",""7"",""458"",""602"",""12"",""11"",""490"",""510"",""5"",""44"",""400"",""471"",""4"",""4"",""455"",""514"",""7"",""9"",""514"",""588"",""3"",""9"",""494"",""556"",""10"",""8"",""385"",""551"",""2"",""19"",""434"",""647"",""11"",""9"",""423"",""633"",""11"",""17"",""379"",""516"",""7"",""14"",null,null,null,null]

我需要这样:

[["2018-1", 400, 450, 10,5], ["2018-2", 300, 350, 15, 10], ["2018-3", 500, 400, 20, 15]]

如何获取这样的JSON?

2 个答案:

答案 0 :(得分:0)

例如,您可以使用列表。

Dim list1 As New List(Of String) From {"1", "2"}
Dim list2 As New List(Of String) From {"3", "4"}
Dim JSONList As New List(Of List(Of String)) From {list1, list2}
Dim serializer As New JavaScriptSerializer
Dim t As String = serializer.Serialize(JSONList)
'[["1","2"],["3","4"]]

或者您的数组和对象。

Dim list1 As String() = {"1", "2"}
Dim list2 As String() = {"3", "4"}
Dim JSONList As Object = {list1, list2}
Dim serializer As New JavaScriptSerializer
Dim t As String = serializer.Serialize(JSONList)
'[["1","2"],["3","4"]]

答案 1 :(得分:0)

感谢您的帮助,我以这样的方式结束了工作

For iOuter As Integer = filas.GetLowerBound(0) To filas.GetUpperBound(0)
        'iOuter represents the first dimension
        For iInner As Integer = filas.GetLowerBound(1) To filas.GetUpperBound(1)
            'iInner represents the second dimension
            'filas(iOuter, iInner) = "This Isn't Nothing" 'Set the value

            If iInner = 0 Then
                cadenaJson = cadenaJson + result3(iOuter).ToString() + ","
            End If

            If iInner < filas.GetUpperBound(1) Then
                cadenaJson = cadenaJson + filas(iOuter, iInner).ToString + ","
            Else
                cadenaJson = cadenaJson + filas(iOuter, iInner).ToString
            End If

        Next 'iInner
        If iOuter = filas.GetUpperBound(0) Then
            cadenaJson = cadenaJson + "]]"
            'cadenaJson = cadenaJson + " "
        Else
            cadenaJson = cadenaJson + "],["
            'cadenaJson = cadenaJson + ","
        End If
        'If you are only interested in the first element you don't need the inner loop
        'filas(iOuter, 0) = "This is the first element in the second dimension"
    Next 'iOuter