版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/No_Fire/article/details/82534354
FastJson
【简介】fastjson 是一个有阿里巴巴公司开发的性能很好的 Java 语言实现的 JSON 解析器和生成器
【特点】
-
快速FAST (比其它基于Java的解析器和生成器更快,包括jackson)
-
强大(支持普通JDK类包括任意Java Bean Class、Collection等)
-
零依赖(没有依赖其它任何类库除了JDK)
【常用API操作】
package fastjsondemo;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
/**
* 此类主要用来熟悉fastjson相关API
* @author JBGZ
*
*/
public class FastJsonDemo1{
static String jsonStr = "{\"id\":\"20\",\"name\":\"JayChou\",\"items\":[{\"itemid\":\"15\",\"itemname\":\"xidian\"},{\"itemid\":\"2\",\"itemname\":\"ruanyuan\" }]}";
public static void main(String[] args) {
testFastJson();
jsonToObject();
System.out.println("begin merge Json String");
mergeJson();
objToJson();
}
/**
* FastJson 常用API操作
*/
public static void testFastJson() {
JSONObject jsonObject = new JSONObject().parseObject(jsonStr);
String id = jsonObject.getString("id");
String name = jsonObject.getString("name");
System.out.println("id is :"+id+", name is "+name);
System.out.println("begin print JsonArray.");
JSONArray itemsArray = jsonObject.getJSONArray("items");
for(int i=0;i<itemsArray.size();i++) {
JSONObject itemObject = itemsArray.getJSONObject(i);
String itemId = itemObject.getString("itemid");
String itemName = itemObject.getString("itemname");
System.out.println("itemId is :"+itemId+", itemName is "+itemName);
}
}
/*
* Json字符串转对象
*/
public static void jsonToObject() {
User user = new JSONObject().parseObject(jsonStr, User.class);
System.out.println(user.toString());
}
/*
* 拼装Json信息
*/
public static void mergeJson() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", "12");
jsonObject.put("name", "JayChou");
JSONArray itemsArray = new JSONArray();
JSONObject itemObj= new JSONObject();
itemObj.put("itemid", "1");
itemObj.put("itemname", "河南");
JSONObject itemObj2= new JSONObject();
itemObj2.put("itemid", "3");
itemObj2.put("itemname", "郑州");
itemsArray.add(itemObj);
itemsArray.add(itemObj2);
jsonObject.put("items", itemsArray);
System.out.println(jsonObject.toJSONString());
}
/**
* 对象转换为Json字符串
*/
public static void objToJson() {
User user = new User();
user.setId("01");
user.setName("Jay Chou");
List<Item> items =new ArrayList<Item>();
Item item1 = new Item();
item1.setItemid("2");
item1.setItemname("河南");
Item item2 = new Item();
item2.setItemid("33");
item2.setItemname("洛阳");
items.add(item1);
items.add(item2);
user.setItems(items);
System.out.println(new JSONObject().toJSONString(user));
}
}
【运行结果】
id is :20, name is JayChou
begin print JsonArray.
itemId is :15, itemName is xidian
itemId is :2, itemName is ruanyuan
User [id=20, name=JayChou, items=[Item [itemid=15, itemname=xidian], Item [itemid=2, itemname=null]]]
begin merge Json String
{"id":"12","items":[{"itemid":"1","itemname":"河南"},{"itemid":"3","itemname":"郑州"}],"name":"JayChou"}
{"id":"01","items":[{"itemid":"2","itemname":"河南"},{"itemid":"33","itemname":"洛阳"}],"name":"Jay Chou"}