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

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

这是 Select ,请告诉我什么是正确的.

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

or

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

如果第一个 struct 是正确的,那么我应该使用什么样的JAXB注释来获得正确的 struct .

推荐答案

The first example from your question,

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

的语法无效.在纯文本数组中不能有对象属性.

The second example from your question,

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

是正确的,尽管它不是strict JSON.这是一种relaxed格式的JSON,其中字符串键中的引号被省略.

下面是您想要遵守strict JSON时的正确答案:

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

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

Json相关问答推荐

Postgres Select json数组并重新映射属性名称

nlohmann json:为什么我会得到一个解析错误?

Jolt-Json转换:通过引用标识符(而不是索引)设置值

Jolt 变换以展平 json 字符串数组

VBA-JSON 嵌套集合解析为 Excel

JOLT 转换 - 删除 JSON 数组中的空 node

序列化特定类型时如何使 JSON.Net 序列化程序调用 ToString()?

如何从 mysql 数据库构建 JSON 数组

json.decoder.JSONDecodeError:期望值:第 1 行第 1 列(字符 0)

Java的JSON字符串整洁/格式化程序

Json.Net:用于自定义命名的 JsonSerializer-Attribute

通过 RestAssured 中的 JsonPath 访问匿名数组的元素

在自定义 JsonConverter 的 ReadJson 方法中处理空对象

在 Webpack 中加载静态 JSON 文件

JSON 使用 simplejson 序列化 Django 模型

如何使用 Serde 反序列化带有自定义函数的可选字段?

为什么 JavaScript 的 eval 需要括号来判断 JSON 数据?

ASP.NET Web API JSON 输出中没有时间的日期

设置对象不是 JSON 可序列化的

如果键可能不存在,则从 Python dict 读取