JSON 對象[email protected] 解決辦法

soゝso 2016-11-04 15:54:06 9005

[email protected]  是  json-lib  中的一個內置對象,當對象缺省的時候,就用這個對象接收。你也可以用它,但是我們往往是需要返回我們自己的實體,或者自己的泛型集合。

[email protected]的形成

下面是一個對象實體,然后answers 是一個List<SOAskAnswers>

public class SOAsk implements Serializable{
	private static final long serialVersionUID = 1L;
	
	/**回答集合*/
	private List<SOAskAnswers> answers = new ArrayList<SOAskAnswers>();
	/**分類*/
	private String category;
	/**分類名稱*/
	private String categoryName;
	/**創建日期*/
	private String date;
	/**seo - 描述*/
	private String description;
	/**seo - 關鍵詞*/
	private String keywords;
	/**來源 */
	private String from ;
	/**數據ID,url*/
	private String id;
	/**問題描述*/
	private String question;
	/**瀏覽次數*/
	private long readCount = 0 ;
	/**標題*/
	private String title;
	/**用戶ID*/
	private String userId;
	/**用戶名稱*/
	private String userName;
	/**狀態。0:沒滿意答案,1:有滿意答案*/
	private int status = 0;
	
	//TODO getter & setter
	
}

  JSON  反射對象的時候,集合對象就出現了[email protected]

//查詢返回一個JSON(map),然后反射回來對象,其中有一個屬性就是集合。
List<SOAsk> list = new ArrayList<SOAsk>();
for (SearchHit searchHit : hits) {
	Map<String, Object> source = searchHit.getSource();
	JsonConfig config = new JsonConfig();
	//設置對象class
	config.setRootClass(SOAsk.class);
	SOAsk entity = (SOAsk)JSONObject.toBean(JSONObject.fromObject(source) , config);
	list.add(entity);
}

解決辦法:

//查詢返回一個JSON(map),然后反射回來對象,其中有一個屬性就是集合。
List<SOAsk> list = new ArrayList<SOAsk>();
for (SearchHit searchHit : hits) {
	Map<String, Object> source = searchHit.getSource();
	JsonConfig config = new JsonConfig();
	//設置對象class
	config.setRootClass(SOAsk.class);
	
	//鍵值對的設置對象Class
	Map<String,Class<?>> classMap = new HashMap<String, Class<?>>();
	//設置集合List<SOAskAnswers> answers = new ArrayList<SOAskAnswers>() 的泛型類型為SOAskAnswers
	classMap.put("answers", SOAskAnswers.class);
	//這里可以設置多個,如果當前對象里有很多的話 。。。
	
	
	//設置進去
	config.setClassMap(classMap);
	SOAsk entity = (SOAsk)JSONObject.toBean(JSONObject.fromObject(source) , config);
	list.add(entity);
}

這就OK了。

版權所屬:SO JSON在線解析

原文地址:http://www.380127.tw/blog/186.html

轉載時必須以鏈接形式注明原始出處及本聲明。

本文主題:

如果本文對你有幫助,那么請你贊助我,讓我更有激情的寫下去,幫助更多的人。

關于作者
一個低調而悶騷的男人。
相關文章
QQ互聯登錄,出現qzuser用戶的原因及解決辦法
MySQL數據庫存儲過程字符集問題,亂碼的解決辦法
JSON格式講解,JSON獲取對象,JSONObject和JSONArray的操作
Java tojson,Java中json-lib的各種數據轉換,及對象轉換
SOJSON 阿里云活動達到67人,最終獲得5年的1核2GB的ECS服務器使用權益
Spring 3.x 升級到Spring 4.x 注意事項和步驟,錯誤解決方法
SOJSON 使用又拍云 CDN 整體架構,解決百度 SEO 方案
Java API接口返回不是JSON解決方案,SpringMVC返回JSON配置。
談談這次對 SOJSON 的改版
Java SHA1的幾種實現方式,Java SHA1 簽名
最新文章
Autojs怎么安全加密?Autojs在線加密工具注意事項。 367
Java JSON 組件選型之 FastJson 為什么總有漏洞? 2014
使用七牛云存儲實現圖片API,自動刪除圖片方案合集 1667
神速ICP備案經驗分享,ICP備案居然一天就通過了 2684
百度加強推送URL鏈接,百度SEO強行推送鏈接JavaScript代碼案例講解。 3160
SOJSON 拓展服務器被DDos攻擊了一晚上,是如何解決的? 3659
湖南地區備案“新增網站需提交組網方案或解釋說明”,關于備案做簡單敘述 3714
企查查你是個什么企業,騙子的幫兇,詐騙的集中營,通過企查查騷擾企業電話不斷,為所欲為的企查查 10183
Java爬取百度云觀測對網站的檢測數據,獲取子域名及域名的安全信息 2666
【2020年】百度搜索詞獲取,獲取百度搜索的關鍵詞【真實有效】 8143
最熱文章
蘋果電腦Mac怎么恢復出廠系統?蘋果系統怎么重裝系統? 442350
我為什么要選擇RabbitMQ ,RabbitMQ簡介,各種MQ選型對比 422409
免費天氣API,全國天氣 JSON API接口,可以獲取五天的天氣預報 354215
最新MyEclipse8.5注冊碼,有效期到2020年 (已經更新) 324326
免費天氣API,天氣JSON API,不限次數獲取十五天的天氣預報 296362
Elasticsearch教程(四) elasticsearch head 插件安裝和使用 226855
Jackson 時間格式化,時間注解 @JsonFormat 用法、時差問題說明 187481
談談斐訊路由器劫持,你用斐訊路由器,你需要知道的事情 138752
Elasticsearch教程(一),全程直播(小白級別) 121841
Elasticsearch教程(五) elasticsearch Mapping的創建 100632

騷碼加入我們 / 千人QQ群:259217951

入群需要5元為的是沒有垃圾廣告,如果沒有QQ錢包,可以加群主拉進。

二維碼生成 來自 >> 二維碼生成器。

支付掃碼

所有贊助/開支都講公開明細,用于網站維護:贊助名單查看

查看我的收藏

正在加載... ...

时时乐上海走势图连线