List<实体>转json
對方要求的結果格式
{ "Sity": [{ "s_id": "00369a642618667dc1c6d", "brq": "2021-01-01", "bzr": "張三", "Files": [{ "id": "01c3d39fbd43d8aea0c246", "sqy_id": "003577ca642618667dcc66d", "zzh": "91340100628E(2-3)", "create": "2020-07-08" }], "Shenheinfo": [{ "shehr": "張三", "shdw": "張三" }] }] }
我對此創(chuàng)建了三個實體,get/set省略了
public class Sity{ private String s_id; private String brq; private String bzr; private List<Files> Files ; private List<Shenheinfo> Shenheinfo ;}
public class Files{ private String id; private String sqy_id; private String zzh; private String create;}
public class Shenheinfo{ private String shehr; private String shdw;}
中間取數(shù)據(jù)過程省略,最后得到的數(shù)據(jù)結果List<Sity> SityList,然后用
import com.alibaba.fastjson.JSON;String res = JSON.toJSONString(SityList);執(zhí)行后得到字符串發(fā)現(xiàn),有轉(zhuǎn)義字符\,如果屬性沒有值是不會被轉(zhuǎn)出來的,屬性首字母還被轉(zhuǎn)成小寫了。
屬性沒有值是不會被轉(zhuǎn)出來解決方法:
屬性首字母還被轉(zhuǎn)成小寫解決方法:
使用import com.alibaba.fastjson.annotation.JSONField;在類的屬性上加
最后就是格式問題,我直接用List轉(zhuǎn)json肯定不行,最外圍沒有Map的{},于是我先把List放進Map,Map轉(zhuǎn)字JSON字符串,JSON字符串再轉(zhuǎn)Map,這樣就得到了對方想要的格式
Map<String, List<Sity> mapRes=new HashMap();mapRes.put("SgqyEnity",SityList);String re = JSON.toJSONString(mapRes, SerializerFeature.WriteMapNullValue);HashMap hashMap = JSON.parseObject(re, HashMap.class);其實List放進Map就行了,Map轉(zhuǎn)字JSON字符串,JSON字符串再轉(zhuǎn)Map,不需要的
總結
以上是生活随笔為你收集整理的List<实体>转json的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米 android 8,小米华为们谁最
- 下一篇: LFW阅读笔记