fastjson

依赖

 <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.7</version>
</dependency>

基本的用法 

小数据序列化和反序列化

package demo;
import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.*;

public class demo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
       User user1=new User();
       user1.setId(1);
       user1.setName("tianlei");
       
       User user2=new User();
       user2.setId(2);
       user2.setName("lilei");
       
       Group group = new Group();
       group.setId(3);
       group.setName("class");
       group.addUser(user1);
       group.addUser(user2);
       
       String json= JSON.toJSONString(group);
       System.out.println(json);
       
       Group group2=JSON.parseObject(json, Group.class);
       List<User> user=new ArrayList<User>();
       user=group2.getUsers();
       for (int i=0;i<user.size();i++)
                System.out.println(user.get(i).getName());
       
	}

}
可以使用map:

package demo;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.*;

public class demo {

	public static void main(String[] args) {
	// TODO Auto-generated method stub
           
      Map map =new HashMap();
      map.put("name", "hello");
      map.put("sex", "man");
      String json=JSON.toJSONString(map);
      System.out.println(json);
      Map map2=new HashMap();
      map2=(Map) JSON.parse(json);
      System.out.println(map.get("name"));
       
	}

}

超大数据序列化

超大JSON对象序列化

JSONWriter writer = new JSONWriter(new FileWriter("/tmp/huge.json"));
  writer.startObject();
  for (int i = 0; i < 1000 * 1000; ++i) {
        writer.writeKey("x" + i);
        writer.writeValue(new VO());
  }
  writer.endObject();
  writer.close();
超大数组序列化

SONWriter writer = new JSONWriter(new FileWriter("/tmp/huge.json"));
  writer.startArray();
  for (int i = 0; i < 1000 * 1000; ++i) {
        writer.writeValue(new VO());
  }
  writer.endArray();
  writer.close();

超大数据的反序列化:

超大数组的反序列化:

  JSONReader reader = new JSONReader(new FileReader("/tmp/huge.json"));
  reader.startArray();
  while(reader.hasNext()) {
        VO vo = reader.readObject(VO.class);
        // handle vo ...
  }
  reader.endArray();
  reader.close();
超大对象的反序列:

 JSONReader reader = new JSONReader(new FileReader("/tmp/huge.json"));
  reader.startObject();
  while(reader.hasNext()) {
        String key = reader.readString();
        VO vo = reader.readObject(VO.class);
        // handle vo ...
  }
  reader.endObject();
  reader.close();







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值