json格式自定义键名前缀的问题

时间:2023-01-01 16:44:33
请问json-lib或fastjson之类的,假如对象为Text.java,json一般输出为:
{"assignUser":"xxx","createTime":null,"createUser":"","description":"","id":"","lastModifyTime":null,"name":"","statId":"","statName":"","title":""}
有没有办法可以输出为:{"text.assignUser":"xxx","text.createTime":null,"text.createUser":"","text.description":"","text.id":"","text.lastModifyTime":null,"text.name":"","text.statId":"","text.statName":"","text.title":""},即json的键名自动加入对象名。需要能自动转换的,而不是人工字符串拼出来的,拼太不方便了。

5 个解决方案

#1


想要自动转貌似只能自己写方法类。。。

#2


在定义model类的属性上添加@JSONField(name = "text.assignUser")就可以了

#3


不是有两个参数的fromObject方法吗?jsonConfig.registerJsonBeanProcessor注册一个处理器,在里面



return new JSONObject().element("test.createUser",
                                person.getCreateUser()).element("test.createTime",
                                person.getCreateTime());

#4


该回复于2015-03-05 16:48:35被版主删除

#5


谢谢各位的回复,感觉版主给的答案可行些。还没有测试,先谢了。

#1


想要自动转貌似只能自己写方法类。。。

#2


在定义model类的属性上添加@JSONField(name = "text.assignUser")就可以了

#3


不是有两个参数的fromObject方法吗?jsonConfig.registerJsonBeanProcessor注册一个处理器,在里面



return new JSONObject().element("test.createUser",
                                person.getCreateUser()).element("test.createTime",
                                person.getCreateTime());

#4


该回复于2015-03-05 16:48:35被版主删除

#5


谢谢各位的回复,感觉版主给的答案可行些。还没有测试,先谢了。