FastJson常用操作

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"}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值