Как добавить новый перевод строки при создании файла JSON через VB.NET? - PullRequest
0 голосов
/ 12 октября 2019

Я использую VB.NET для создания файла Json.
Все отлично работает. Код вывода Json хорош.
Проблема в том, что между объектами, объектами массива и т. П. Нет перевода строки.

Мой код в VB.NET находится ниже.

Dim mainlist As New ModJson

mainlist.Version = "123"

Dim billlist As New List(Of ModJson.Billlst)
Dim bill As New ModJson.Billlst
bill.b1 = "B1" & Environment.NewLine '----Tried this
bill.b2 = "B2" & vbCrLf '----- This one too.
bill.b3 = "B3"
billlist.Add(bill)
Dim litemlist As New List(Of ModJson.ItemLst)
For i As Integer = 0 To 1
Dim item As New ModJson.ItemLst
    item.i1 = 0
    item.i2 = 1
    litemlist.Add(item)
Next
bill.itemList = litemlist
mainlist.billLists = billlist
Dim output As String = Newtonsoft.Json.JsonConvert.SerializeObject(mainlist)

Мойвывод выглядит примерно так:

{"Version":"123","billLists":[{"b1":"B1\r\n","b2":"B2\r\n","b3":"B3","itemList":[{"i1":0,"i2":1}]}]}

Вывод правильный. Просто нет перевода строки.

Я хочу что-то вроде этого:

{
  "Version": "123",
  "billLists": [
    {
      "itemList": [
        {
          "i1": 0,
          "i2": 1
        }
      ],
      "b1": "B1\r\n",
      "b2": "B2\r\n",
      "b3": "B3"
    }
  ]
}

Я прочитал много постов, но не могу найти один, чтобы объяснить мне, как добавить перевод строки.

1 Ответ

1 голос
/ 12 октября 2019

SerializeObject имеет метод перегрузки, в котором мы можем предоставить требуемое форматирование, как показано ниже.

string json = JsonConvert.SerializeObject(mainlist, Formatting.Indented);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...