Серийный объект JSONSOFT - PullRequest
       3

Серийный объект JSONSOFT

0 голосов
/ 24 января 2019

Я пытаюсь создать текст JSON, используя Newtonsoft.Json.JsonconvertObject (obj)

Я создал три класса

Public Class cls_JSON_Level
    Public uuid As String = ""
    Public tags() As cls_JSON_Tags
End Class
Public Class cls_JSON_Tags
    Public stock_uuid As String
    Public number As String
    Public reference As String
    Public location As String
    Public last_seen As String
    Public wastimes As Integer
    Public subsidiary_tags() As cls_JSON_Sub_Tags
End Class
Public Class cls_JSON_Sub_Tags
    Public number As String
    Public type As Integer
End Class

и использовал следующую процедуру для создания текста

    Sub DoSerialisation()
    Dim objLevel = New cls_JSON_Level
    Dim objTags = New List(Of cls_JSON_Tags)
    Dim objSub = New List(Of cls_JSON_Sub_Tags)
    Dim strJSONOUT As String

    objSub(0).number = "B8888888888"
    objSub(0).type = 0
    objSub(1).number = "77777777777"
    objSub(1).type = 1
    objSub(1).number = "66666666666"
    objSub(1).type = 2

    objTags(0).stock_uuid = "aabrjs-123768-kfh897-klasd123"
    objTags(0).number = "78621398912"
    objTags(0).last_seen = Now()
    objTags(0).subsidiary_tags = objSub

    objSub(0).number = "66666666666"
    objSub(0).type = 0
    objSub(1).number = "55555555555"
    objSub(1).type = 1
    objSub(1).number = "44444444444"
    objSub(1).type = 2

    objTags(0).stock_uuid = "bfgbd189-9ju8un17-sdf01"
    objTags(0).number = "78621398912"
    objTags(0).last_seen = Now()
    objTags(0).subsidiary_tags = objSub

    objLevel.uuid = "8721-asd9012-asdk871-991klkj-910jlk"
    objLevel.tags = objTags

    strJSONOUT = Newtonsoft.Json.JsonConvert.SerializeObject(objLevel, Formatting.Indented)
End Sub

Я совершаю некоторые фундаментальные ошибки, которые не понимаю.

1 Ответ

0 голосов
/ 24 января 2019

Вероятно, вы хотите сделать так.

Sub DoSerialisation()
    Dim objLevel = New cls_JSON_Level
    Dim objTags = New List(Of cls_JSON_Tags)
    Dim objSub = New List(Of cls_JSON_Sub_Tags)
    Dim strJSONOUT As String

    objSub.Add(New cls_JSON_Sub_Tags With {.number = "B8888888888", .type = 0})
    objSub.Add(New cls_JSON_Sub_Tags With {.number = "77777777777", .type = 1})
    objSub.Add(New cls_JSON_Sub_Tags With {.number = "66666666666", .type = 2})

    objTags.Add(New cls_JSON_Tags With {
                .stock_uuid = "aabrjs-123768-kfh897-klasd123",
                .number = "78621398912",
                .last_seen = Now(),
                .subsidiary_tags = objSub.ToArray})

    objSub.Clear()
    objSub.Add(New cls_JSON_Sub_Tags With {.number = "66666666666", .type = 0})
    objSub.Add(New cls_JSON_Sub_Tags With {.number = "55555555555", .type = 1})
    objSub.Add(New cls_JSON_Sub_Tags With {.number = "44444444444", .type = 2})

    objTags.Add(New cls_JSON_Tags With {
                .stock_uuid = "bfgbd189-9ju8un17-sdf01",
                .number = "78621398912",
                .last_seen = Now(),
                .subsidiary_tags = objSub.ToArray})

    objLevel.uuid = "8721-asd9012-asdk871-991klkj-910jlk"
    objLevel.tags = objTags.ToArray

    strJSONOUT = Newtonsoft.Json.JsonConvert.SerializeObject(objLevel, Formatting.Indented)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...