日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

List<实体>转json

發布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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": "張三" }] }] }
我對此創建了三個實體,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;}

中間取數據過程省略,最后得到的數據結果List<Sity> SityList,然后用

import com.alibaba.fastjson.JSON;String res = JSON.toJSONString(SityList);

執行后得到字符串發現,有轉義字符\,如果屬性沒有值是不會被轉出來的,屬性首字母還被轉成小寫了。
屬性沒有值是不會被轉出來解決方法:

import com.alibaba.fastjson.serializer.SerializerFeature;String res = JSON.toJSONString(SityList, SerializerFeature.WriteMapNullValue);

屬性首字母還被轉成小寫解決方法:
使用import com.alibaba.fastjson.annotation.JSONField;在類的屬性上加

public class Sity {@JSONField(name="你想要的名字") private List<Shenheinfo> Shenheinfo ;

最后就是格式問題,我直接用List轉json肯定不行,最外圍沒有Map的{},于是我先把List放進Map,Map轉字JSON字符串,JSON字符串再轉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轉字JSON字符串,JSON字符串再轉Map,不需要的

總結

以上是生活随笔為你收集整理的List<实体>转json的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。