轉自: http://blog.csdn.net/tangerr/article/details/76217924java
/** * Created by wanggs on 2017/7/27. */ public class JsonTest { public static void main(String[] args) { // Json對象中是添加的鍵值對,JSONArray中添加的是Json對象 JSONObject jsonObject = new JSONObject(); JSONObject jsonObject1 = new JSONObject(); JSONArray jsonArray = new JSONArray(); jsonObject1.put("001","tom"); // JSONObject 對象中添加鍵值對 jsonObject.put("key","value"); // 將JSONObject對象添加到json數組中 jsonArray.add(jsonObject); jsonArray.add(jsonObject1); System.out.println(jsonArray.toString()); // 輸出結果: [{"key":"value"},{"001":"tom"}] } }
package com.wanggs.com.wanggs.json.fastjson; import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.List; /** * Created by wanggs on 2017/7/27. */ public class FastJsonTest { public static void main(String[] args) { Group group = new Group(); group.setId(0); group.setName("admin"); User user = new User(); user.setId(001); user.setName("guest"); User user1 = new User(); user1.setId(002); user1.setName("root"); List<User> users = new ArrayList<User>(); users.add(user); users.add(user1); group.setUsers(users); String json = JSON.toJSONString(group); System.out.println(json); // 輸出: {"id":0,"name":"admin","users":[{"id":1,"name":"guest"},{"id":2,"name":"root"}]} } }
package test.com.wanggs.com.wanggs.json.fastjson; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import com.wanggs.com.wanggs.json.fastjson.People; import org.junit.Test; import static org.junit.Assert.*; /** * Created by wanggs on 2017/7/27. */ public class FastJsonTestTest { /** * 序列化 */ @Test public void toJsonString() { People people = new People("001","tom",12); String text = JSON.toJSONString(people); System.out.println(text); // 輸出結果: {"age":12,"id":"001","name":"tom"} } /** * 反序列爲Json對象 */ @Test public void parseJsonObject(){ String text = "{\"age\":12,\"id\":\"001\",\"name\":\"tom\"}"; People people = (People) JSON.parseObject(text,People.class); System.out.println("parseBeanObject()方法:people==" + people.getId() + "," + people.getName() + "," + people.getAge()); // 輸出結果爲: parseBeanObject()方法:people==001,tom,12 } /** * 將javaBean轉化爲json對象 */ @Test public void bean2Json(){ People people = new People("002","jack",23); JSONObject jsonObject = (JSONObject) JSON.toJSON(people); System.out.println("bean2Json()方法:jsonObject==" + jsonObject); // 輸出結果: bean2Json()方法:jsonObject=={"name":"jack","id":"002","age":23} } /** * 全序列化 直接把java bean序列化爲json文本以後,可以按照原來的類型反序列化回來。支持全序列化,須要打開SerializerFeature.WriteClassName特性 */ @Test public void parseJSONAndBeanEachother(){ People people = new People("002","jack",23); SerializerFeature[] featureArr = { SerializerFeature.WriteClassName }; String text = JSON.toJSONString(people, featureArr); System.out.println("parseJSONAndBeanEachother()方法:text==" + text); // 輸出結果:parseJSONAndBeanEachother()方法:text=={"@type":"com.wanggs.com.wanggs.json.fastjson.People","age":23,"id":"002","name":"jack"} People people1 = (People) JSON.parse(text); System.out.println("parseJSONAndBeanEachother()方法:People==" + people1.getId() + "," + people1.getName() + "," + people1.getAge()); // 輸出結果:userObj==testFastJson001,maks,105 } }
package com.wanggs.com.wanggs.json.fastjson; /** * Created by wanggs on 2017/7/27. */ public class People { private String id; private String name; private int age; public People() { } public People(String id, String name, int age) { this.id = id; this.name = name; this.age = age; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
package test.com.wanggs.com.wanggs.json.fastjson; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.wanggs.com.wanggs.json.fastjson.Address; import com.wanggs.com.wanggs.json.fastjson.People; import org.junit.Test; import java.util.*; import static org.junit.Assert.*; /** * Created by wanggs on 2017/7/27. */ public class FastJsonTest1Test { /** * 數組轉json字符串 */ @Test public void array2Json() { String[] arr = {"bill", "green", "maks", "jim"}; String jsonText = JSON.toJSONString(arr); System.out.println("array2Json()方法:jsonText==" + jsonText); // 輸出結果:jsonText==["bill","green","maks","jim"] } /** * json格式字符串轉數組 */ @Test public void json2Array() { String jsonText = "[\"bill\",\"green\",\"maks\",\"jim\"]"; JSONArray jsonArray = JSON.parseArray(jsonText); System.out.println("json2Array()方法:jsonArray==" + jsonArray); // 輸出結果:jsonArray==["bill","green","maks","jim"] } /** * 數組轉json格式字符串 */ @Test public void array2Json2() { People people = new People("001", "tom", 12); People people1 = new People("002", "jack", 23); People people2 = new People("003", "mair", 22); People[] peoples = new People[]{people, people1, people2}; String jsonText = JSON.toJSONString(peoples); System.out.println("array2Json2()方法:jsonText==" + jsonText); //輸出結果:array2Json2()方法:jsonText==[{"age":12,"id":"001","name":"tom"},{"age":23,"id":"002","name":"jack"},{"age":22,"id":"003","name":"mair"}] } /** * json格式字符串轉數組 */ @Test public void json2Array2() { String jsonText = "[{\"age\":12,\"id\":\"001\",\"name\":\"tom\"},{\"age\":23,\"id\":\"002\",\"name\":\"jack\"},{\"age\":22,\"id\":\"003\",\"name\":\"mair\"}]"; JSONArray jsonArr = JSON.parseArray(jsonText); System.out.println("json2Array2()方法:jsonArr==" + jsonArr); // 輸出結果:json2Array2()方法:jsonArr==[{"name":"tom","id":"001","age":12},{"name":"jack","id":"002","age":23},{"name":"mair","id":"003","age":22}] } /** * list集合轉json格式字符串 */ @Test public void list2Json() { List<People> list = new ArrayList<People>(); list.add(new People("001", "tom", 12)); list.add(new People("002", "jack", 23)); list.add(new People("003", "mair", 22)); String jsonText = JSON.toJSONString(list); System.out.println("list2Json()方法:jsonText==" + jsonText); // 輸出的結果爲: [{"age":12,"id":"001","name":"tom"},{"age":23,"id":"002","name":"jack"},{"age":22,"id":"003","name":"mair"}] } /** * map轉json格式字符串 */ @Test public void map2Json() { Map map = new HashMap(); Address address1 = new Address("廣東省","深圳市","科苑南路","580053"); map.put("address1", address1); Address address2 = new Address("江西省","南昌市","陽明路","330004"); map.put("address2", address2); Address address3 = new Address("陝西省","西安市","長安南路","710114"); map.put("address3", address3); String jsonText = JSON.toJSONString(map, true); System.out.println("map2Json()方法:jsonText=="+jsonText); //輸出結果:jsonText=={"address1":{"city":"深圳市","post":"580053","province":"廣東省","street":"科苑南路"},"address2":{"city":"南昌市","post":"330004","province":"江西省","street":"陽明路"},"address3":{"city":"西安市","post":"710114","province":"陝西省","street":"長安南路"}} } /** * json轉map */ @Test public void json2Map(){ String text = "{\"age\":12,\"id\":\"001\",\"name\":\"tom\"}"; Map<String,Object> map = JSON.parseObject(text); System.out.println("json2Map()方法:map=="+map); //輸出結果:{"name":"tom","id":"001",