java - 如果我无法使用注释 JsonTypeInfo 标记该类,如何为类自定义 json 包装键?
问题描述
我有这样的代码:
import org.codehaus.jackson.map.*;
public class MyPojo {
int id;
public int getId()
{ return this.id; }
public void setId(int id)
{ this.id = id; }
public static void main(String[] args) throws Exception {
MyPojo mp = new MyPojo();
mp.setId(4);
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
System.out.println(mapper.writeValueAsString(mp));
}
}
它按预期工作:
{"MyPojo":{"id":4}}
但我想自定义该名称。我无法标记MyPojo
,@JsonTypeInfo
因为我从图书馆学习了这门课。
有没有办法在杰克逊做到这一点?
解决方案
您也ObjectWriter
可以专门用于此类:
MyPojo mp = new MyPojo();
mp.setId(4);
ObjectMapper mapper = new ObjectMapper();
ObjectWriter writer = mapper.writer().withRootName("TestPojo");
System.out.println(writer.writeValueAsString(mp));
推荐阅读
- php - 刀片文件未显示
- css - 证明在父flex中不起作用的内容
- python - 如何使用 Apache Beam Python 将输出写入动态路径
- sql-server - SQL:聚合核心表时忽略不相关的 JOIN
- angular - 离子文本区域通过发布请求获得价值
- flutter - 在futurbuilder Flutter中没有触发项目构建器
- python - openpyxl load_workbook ValueError:名称为 Table1 的表已存在
- json - 使用 Ajax 向 Django 发送 2 个 JSON 对象
- swift - Swift:在庞大的数据库中快速搜索以找到相关结果的最佳方法是什么?
- ignite-ui-angular - 如何在 igx-data-chart 中多行设置轴标签?