java - 生成带有索引项表示的集合的 JSON
问题描述
是否有一些库可以生成 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
推荐阅读
- ios - 如何在coredata中保存结构
- php - 拆分二进制原始文件而不转换为数组php
- swift - 如何排队大量入站 CloudKit 通知
- java - 如何在 JFrame 上显示 Graphics2D 对象
- java - 用于抛出异常的内联 lambda 语法
- javascript - 过滤html表格(JS)
- scala - 对于理解返回类型
- django - 使用 Django-rest-auth 创建新用户时创建自定义用户模型
- java - 使用函数为 Get 和 Post 请求创建通用类的最简单方法?
- javascript - 使用 jmeter 在 selenium 中执行 java 脚本时方法调用出错