对象列表的JSON结构

Van*_*ran 52 java json jaxb

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

我们使用JAXB将POJO转换为JSON.

这是选择,请指导我什么是正确的.

foos: [
             foo:{..},
             foo:{..}
      ]
Run Code Online (Sandbox Code Playgroud)

要么

   foos : [
           {...},
           {...}
          ]
Run Code Online (Sandbox Code Playgroud)

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

Jus*_*ner 64

第二个是正确的:

{
    "foos" : [{
        "prop1":"value1",
        "prop2":"value2"
    }, {
        "prop1":"value3", 
        "prop2":"value4"
    }]
}
Run Code Online (Sandbox Code Playgroud)

  • @RamanpreetSingh - 如果您通过`jsonlint`进行验证,那么您还需要在顶层添加'foos`周围的引号. (2认同)

Bal*_*usC 30

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

Patrick Hunlock的这篇教程可能有助于了解JSON,这个站点可能有助于验证JSON.

  • 此答案中的第一个链接不是安全链接。谨防。 (2认同)

Tim*_*ski 18

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

{
    "foos" : [
        {
            "prop1":"value1",
            "prop2":"value2"
        },
        {
            "prop1":"value3", 
            "prop2":"value4"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)