【问题标题】:JSON Structure for List of Objects对象列表的 JSON 结构
【发布时间】:2011-04-24 09:17:15
【问题描述】:

我想知道,JSON 中对象列表的正确结构是什么。

我们正在使用 JAXB 将 POJO 转换为 JSON。

这是选择,请指导我正确的选择。

foos: [
             foo:{..},
             foo:{..}
      ]

   foos : [
           {...},
           {...}
          ]

如果第一个结构是正确的,我应该使用什么 JAXB 注释来获得正确的结构。

【问题讨论】:

  • “使用 JAXB 将 POJO 转换为 JSON”.... 怎么样?

标签: java json jaxb


【解决方案1】:

第二个几乎是正确的:

{
    "foos" : [{
        "prop1":"value1",
        "prop2":"value2"
    }, {
        "prop1":"value3", 
        "prop2":"value4"
    }]
}

【讨论】:

  • 这在 jsonlint 上无效 :( 我很想认为 jsonlint 是错误的 :-|
  • @RamanpreetSingh - 如果您通过 jsonlint 进行验证,那么您还需要在顶层的 foos 周围添加引号。
  • 我在顶层添加了引号和花括号,它可以工作。谢谢!
【解决方案2】:

第一个是无效的语法。您不能在普通数组中包含对象属性。第二个是正确的,虽然它不是 strict JSON。它是 JSON 的 宽松 形式,其中省略了字符串键中的引号。

This tutorial by Patrick Hunlock,可能有助于了解 JSON,this site 可能有助于验证 JSON。

【讨论】:

    【解决方案3】:

    正如其他人所提到的,贾斯汀的回答很接近,但并不完全正确。我使用 Visual Studio 的“将 JSON 粘贴为 C# 类”对此进行了测试

    {
        "foos" : [
            {
                "prop1":"value1",
                "prop2":"value2"
            },
            {
                "prop1":"value3", 
                "prop2":"value4"
            }
        ]
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-26
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-27
      • 2021-08-27
      相关资源
      最近更新 更多