久久天天躁狠狠躁夜夜免费观看,精品国产粉嫩内射白浆内射双马尾,久久国产欧美日韩精品,久久久久久性高,激情欧美成人久久综合

Java tojson,Java中json-lib的各種數(shù)據(jù)轉(zhuǎn)換,及對(duì)象轉(zhuǎn)換

JSON 2016-08-22 23:50:48 55156

JSON  是目前流行的交換數(shù)據(jù)格式,經(jīng)常有童鞋問(wèn)我, json-lib  怎么操作 JSON  jackson  怎么操作 JSON  , Goson  怎么操作 JSON  等等,本篇介紹 json-lib  的各種操作。

其他的 JSON  信息都在這里:http://suancuo.cn/tag_json.html

json-lib  的jar包引入:http://suancuo.cn/blog/101

一、json-lib的JSON和JavaBean的相互轉(zhuǎn)換。

1、自定義Java Bean 轉(zhuǎn)JSON對(duì)象。

/**
 * JSON-Lib 對(duì)象轉(zhuǎn)JSON
 */
@Test
public void entity2json() {
	//構(gòu)建一個(gè)對(duì)象
	JSONModel model = new JSONModel();
	model.setAge(10);
	model.setName("張三");
	model.setDomain("http://suancuo.cn");
	
	//對(duì)象轉(zhuǎn)JSON
	JSONObject json = JSONObject.fromObject(model);
	//轉(zhuǎn)成String
	String jsonStr = json.toString();
	System.out.printf("json-lib,對(duì)象轉(zhuǎn)JSON:%s",jsonStr);
	//json-lib,對(duì)象轉(zhuǎn)JSON:{"age":10,"domain":"http://suancuo.cn","name":"張三"}
}

這里是一個(gè)普通的自定義的 Java  Bean 對(duì)象轉(zhuǎn)換。

2、JSON字符串轉(zhuǎn)成Java Bean 對(duì)象。

/**
 * JSON-Lib JSON轉(zhuǎn)對(duì)象
 */
@Test
public void json2entity() {
	/*
	 * 剛剛的字符串
	 * {"age":10,"domain":"http://suancuo.cn","name":"張三"} 
	 * 但是我們要轉(zhuǎn)義雙引號(hào),可以用網(wǎng)址  http://suancuo.cn/yasuo.html
	 */
	String jsonStr = "{\"age\":10,\"domain\":\"http://suancuo.cn\",\"name\":\"張三\"}";
	
	//JSON字符串轉(zhuǎn)JSON對(duì)象
	JSONObject json = JSONObject.fromObject(jsonStr);
	//JSON對(duì)象 轉(zhuǎn) JSONModel對(duì)象
	JSONModel model = (JSONModel) JSONObject.toBean(json, JSONModel.class);
	
	//轉(zhuǎn)成String 方便輸出
	System.out.printf("json-lib,JSON轉(zhuǎn)對(duì)象:%s",JSONObject.fromObject(model).toString());
	//json-lib,JSON轉(zhuǎn)對(duì)象:{"age":10,"domain":"http://suancuo.cn","name":"張三"}
}

二、json-lib的JSON和Map的相互轉(zhuǎn)換。

1、Map轉(zhuǎn)JSON。

/**
 * Map 轉(zhuǎn) JSON 
 */
@Test
public void map2json(){
	Map map = new HashMap();
	map.put("age",10 );
	map.put("name","張三");
	map.put("domain","http://suancuo.cn");
	//對(duì)象轉(zhuǎn)JSON
	JSONObject json = JSONObject.fromObject(map);
	//轉(zhuǎn)成String
	String jsonStr = json.toString();
	System.out.printf("json-lib,Map轉(zhuǎn)JSON:%s",jsonStr);
	//json-lib,Map轉(zhuǎn)JSON:{"age":10,"domain":"http://suancuo.cn","name":"張三"}
	
}

2、JSON轉(zhuǎn)Map

/**
 * JSON-Lib JSON轉(zhuǎn)Map
 */
@Test
public void json2map() {
	/*
	 * 剛剛的字符串
	 * {"age":10,"domain":"http://suancuo.cn","name":"張三"} 
	 * 但是我們要轉(zhuǎn)義雙引號(hào),可以用網(wǎng)址  http://suancuo.cn/yasuo.html
	 */
	String jsonStr = "{\"age\":10,\"domain\":\"http://suancuo.cn\",\"name\":\"張三\"}";
	
	//JSON字符串轉(zhuǎn)JSON對(duì)象
	JSONObject json = JSONObject.fromObject(jsonStr);
	//JSON對(duì)象 轉(zhuǎn) JSONModel對(duì)象
	Map model = (Map) JSONObject.toBean(json, Map.class);
	
	//轉(zhuǎn)成String 方便輸出
	System.out.printf("json-lib,JSON轉(zhuǎn)Map:%s",JSONObject.fromObject(model).toString());
	//json-lib,JSON轉(zhuǎn)Map:{"name":"張三","age":10,"domain":"http://suancuo.cn"}
}

三、json-lib的JSONArray和List的相互轉(zhuǎn)換。

1.List轉(zhuǎn)JSONArray。

/**
 * JSON-Lib List轉(zhuǎn)JSONArray
 */
@Test
public void list2JSONArray() {
	//創(chuàng)建一個(gè)List
	List list = new ArrayList();
	JSONModel model = new JSONModel();
	model.setAge(10);
	model.setName("張三");
	model.setDomain("http://suancuo.cn");
	list.add(model);
	
	model = new JSONModel();
	model.setAge(25);
	model.setName("李四");
	model.setDomain("http://ping.sojson.com");
	list.add(model);
	
	//List 轉(zhuǎn) JSONArray
	JSONArray jsonArray = JSONArray.fromObject(list);
	//JSONArray 轉(zhuǎn) String
	String jsonArrayStr = jsonArray.toString();
	//輸出
	System.out.printf("JSON-Lib List轉(zhuǎn)JSONArray:%s",jsonArrayStr);
	//JSON-Lib List轉(zhuǎn)JSONArray:
	/*
		[
		    {
		        "age": 10,
		        "domain": "http://suancuo.cn",
		        "name": "張三"
		    },
		    {
		        "age": 25,
		        "domain": "http://ping.sojson.com",
		        "name": "李四"
		    }
		]

	 */
}

2.JSONArray轉(zhuǎn)List。

/**
 * JSON-Lib JSONArray轉(zhuǎn)List
 */
@SuppressWarnings("unchecked")
@Test
public void jsonArray2List(){
	//剛剛的JSON字符串
	//[{"age":10,"domain":"http://suancuo.cn","name":"張三"},{"age":25,"domain":"http://ping.sojson.com","name":"李四"}]
	String jsonArrayStr = "[{\"age\":10,\"domain\":\"http://suancuo.cn\",\"name\":\"張三\"},{\"age\":25,\"domain\":\"http://ping.sojson.com\",\"name\":\"李四\"}]";
	
	//json字符串轉(zhuǎn)成JSONArray
	JSONArray jsonArray = JSONArray.fromObject(jsonArrayStr);
	
	//JSONArray 轉(zhuǎn) List
	List list = JSONArray.toList(jsonArray, JSONModel.class);
	
	//輸出
	System.out.printf("JSON-Lib JSONArray轉(zhuǎn)List:\n%s",JSONArray.fromObject(list).toString());
	/*
	 JSON-Lib JSONArray轉(zhuǎn)List:
	 [{"age":10,"domain":"http://suancuo.cn","name":"張三"},{"age":25,"domain":"http://ping.sojson.com","name":"李四"}]
	 */
}

這里有一個(gè)注意的地方,就是JSONArray.toList()這個(gè)方法是過(guò)期的。但是不影響使用。

json-lib  介紹到這里就完畢了。然后下面有附件是json-lib 的Jar包。


版權(quán)所屬:SO JSON在線解析

原文地址:http://suancuo.cn/blog/100.html

轉(zhuǎn)載時(shí)必須以鏈接形式注明原始出處及本聲明。


附件下載:

備注:點(diǎn)擊文件名下載,附件源來(lái)自云端,只能在本站下載。復(fù)制下載鏈接無(wú)效。

本文主題:

如果本文對(duì)你有幫助,那么請(qǐng)你贊助我,讓我更有激情的寫下去,幫助更多的人。

關(guān)于作者
一個(gè)低調(diào)而悶騷的男人。
相關(guān)文章
json對(duì)象json字符串的轉(zhuǎn)換方法
java json字符串轉(zhuǎn)json對(duì)象
Java 解析JSONJSON-LIB jar包下載和使用。
Java 隨機(jī)從 List 隨機(jī)獲取多個(gè)不重復(fù)對(duì)象,Mysql 隨機(jī)10條數(shù)據(jù)
JSON文件如何轉(zhuǎn)換為txt文件
Java API接口返回不是JSON的解決方案,SpringMVC返回JSON配置。
Java JSON 組件選型之 FastJson 為什么總有漏洞?
Jackson 轉(zhuǎn)換JSON,SpringMVC ajax 輸出,當(dāng)值為null或者空不輸出字段@JsonInclude
最新文章
計(jì)算機(jī)網(wǎng)絡(luò)的相關(guān)內(nèi)容 354
SOJSON V6 JavaScript 解密技巧與分析 5940
微信客服人工電話95068:如何快速解封微信賬號(hào)(2025最新指南) 11885
Java Http請(qǐng)求,HttpURLConnection HTTP請(qǐng)求丟失頭信息,Head信息丟失解決方案 5052
實(shí)用API合集分享:教你輕松獲取IP地址的API合集 8839
Linux I/O重定向 6705
Ruby 循環(huán) - while、for、until、break、redo 和 retry 3990
Node.js:全局對(duì)象 3604
如何使用終端檢查L(zhǎng)inux上的內(nèi)存使用情況 3779
JavaScript對(duì)象詳細(xì)剖析 3252
最熱文章
免費(fèi)天氣API,天氣JSON API,不限次數(shù)獲取十五天的天氣預(yù)報(bào) 745370
最新MyEclipse8.5注冊(cè)碼,有效期到2020年 (已經(jīng)更新) 703112
蘋果電腦Mac怎么恢復(fù)出廠系統(tǒng)?蘋果系統(tǒng)怎么重裝系統(tǒng)? 678428
Jackson 時(shí)間格式化,時(shí)間注解 @JsonFormat 用法、時(shí)差問(wèn)題說(shuō)明 561958
我為什么要選擇RabbitMQ ,RabbitMQ簡(jiǎn)介,各種MQ選型對(duì)比 511823
Elasticsearch教程(四) elasticsearch head 插件安裝和使用 483716
Jackson 美化輸出JSON,優(yōu)雅的輸出JSON數(shù)據(jù),格式化輸出JSON數(shù)據(jù)... ... 299543
Java 信任所有SSL證書,HTTPS請(qǐng)求拋錯(cuò),忽略證書請(qǐng)求完美解決 246654
Elasticsearch教程(一),全程直播(小白級(jí)別) 232088
227528
支付掃碼

所有贊助/開(kāi)支都講公開(kāi)明細(xì),用于網(wǎng)站維護(hù):贊助名單查看

查看我的收藏

正在加載... ...