【问题标题】:Adding multiple objects to the same JSON string将多个对象添加到同一个 JSON 字符串
【发布时间】:2014-11-26 15:36:20
【问题描述】:

大家好,我正在尝试输出多个 JSON 输出值。在 XML 中它看起来像这样:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<EmployeeInformation>
  <EmployeeInfo>
    <lastName>Bob</lastName>
    <firstName>Barker</firstName>
    <eMail>bob_barker@theGameShow.com</eMail>
    <badgeID>760013224</badgeID>
  </EmployeeInfo>
  <EmployeeInfo>
    <lastName>John</lastName>
    <firstName>Doe</firstName>
    <eMail>jDoe@somewhere.com</eMail>
    <badgeID>0162000037467</badgeID>
  </EmployeeInfo>
</EmployeeInformation>

我想在 JSON 中遵循相同的结构。但是,我目前只得到这个输出:

{
  "lastName": "Barker",
  "firstName": "Bob",
  "eMail": "bob_barker@theGameShow.com",
  "badgeID": "760013224",
}{
  "lastName": "Doe",
  "firstName": "John",
  "eMail": "jDoe@somewhere.com",
  "badgeID": "0162000037467",
}

从这里的代码:

Dim json As String = ""

empInfo.firstName = "Bob"
empInfo.lastName = "Barker"
empInfo.eMail = "bob_barker@theGameShow.com"
empInfo.badgeID = "760013224"

json = JsonConvert.SerializeObject(empInfo, Formatting.Indented)

empInfo.firstName = "John"
empInfo.lastName = "Doe"
empInfo.eMail = "jDoe@somewhere.com"
empInfo.badgeID = "0162000037467"

json &= JsonConvert.SerializeObject(empInfo, Formatting.Indented)

那么我将如何使用 JSON.net 将其结构化为 XML 格式?

【问题讨论】:

    标签: json vb.net json.net


    【解决方案1】:

    您需要将您的员工对象添加到列表中,然后对列表进行序列化,而不是单独序列化每个员工对象:

    Dim employees As New List(Of EmployeeInfo)
    Dim empInfo As EmployeeInfo
    
    empInfo = New EmployeeInfo()
    empInfo.firstName = "Bob"
    empInfo.lastName = "Barker"
    empInfo.eMail = "bob_barker@theGameShow.com"
    empInfo.badgeID = "760013224"
    employees.Add(empInfo)
    
    empInfo = New EmployeeInfo()
    empInfo.firstName = "John"
    empInfo.lastName = "Doe"
    empInfo.eMail = "jDoe@somewhere.com"
    empInfo.badgeID = "0162000037467"
    employees.Add(empInfo)
    
    Dim json As String = JsonConvert.SerializeObject(employees, Formatting.Indented)
    Console.WriteLine(json)
    

    输出:

    [
      {
        "firstName": "Bob",
        "lastName": "Barker",
        "eMail": "bob_barker@theGameShow.com",
        "badgeID": "760013224"
      },
      {
        "firstName": "John",
        "lastName": "Doe",
        "eMail": "jDoe@somewhere.com",
        "badgeID": "0162000037467"
      }
    ]
    

    小提琴:https://dotnetfiddle.net/M2bQqg

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-24
      • 2019-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      相关资源
      最近更新 更多