java - 使用用索引项表示的集合生成 JSON

标签 java json gson fasterxml

是否有一些库可以生成 JSON 对象,其中集合表示为一组编号的项目?

当使用例如 GSON 库并具有如下类时:

`class Bus {
    List<Pasenger> passengers;

    public Bus(List<Pasenger> passengers) {
        this.passengers = passengers;
    }
}`

GSON 生成 JSON 如下:

`{"bus":{
    "passengers":[
    {"name":"John","familiName":"Smith"},
    {"name":"Marry","familiName":"James"}
    ]
}}`

但是我要求的是生成 JSON,其中集合用每个都有其索引的项目表示。 像这样:

`{"bus":{
    "passengers[0]":{"name":"John","familiName":"Smith"},
    "passengers[1]":{"name":"Marry","familiName":"James"}
}}`

我深入研究了 GSON 和 FasterXML,但找不到对此功能的支持。 有人知道是否有一些库支持这个吗?

感谢任何帮助。

最佳答案

您可以创建一个实现 JsonSerializer 的类来指定您希望如何序列化它。
然后在构建 Gson 时注册它: Gson gson = new GsonBuilder().registerTypeAdapter(Bus.class, new BusAdapter()).create();

更多信息:https://github.com/google/gson/blob/master/UserGuide.md#TOC-Writing-a-Serializer

关于java - 使用用索引项表示的集合生成 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52875295/

相关文章:

java - 使用带有自定义序列化的 Gson 序列化枚举映射

java - 使用 Java 读/写 Windows 注册表

java - 如何处理来自 Google map 服务器的重音字符(如 République 中的 é)作为 Android 中的响应

jquery - Ajax JSONP Parseerror-Callback-Not-Called with Tomcat 9

c++ - cURL 处理大型 JSON 响应

java - GSON 类型适配器 : DeSerialize Polymorphic Objects Based on "Type" Field

json - Gson转换为JSON时再次转义转义序列-Android

java - 在带有泛型参数的泛型方法中使用 Spring RestTemplate

java - 使用 JOGL 调整 GLJPanel 的大小会导致我的模型消失

php - 使用 Curl 在 PHP 中使用用户名和密码访问 API