1. 程式人生 > 其它 >java中json與物件的轉換

java中json與物件的轉換

JSON在javascript中與字串轉換

  • 字串轉json物件 JSON.parse(str)
  • json物件轉字串JSON.stringify(jsonobj);

java與json資料互動

java的JSON工具包有FastJSON Jackson Gson Json-lib等等

FastJSON 是阿里巴巴開源的JSON序列化與反序列化工具包,它的特點:使用簡單 使用人數多 效率高

測試類

import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;
public class Student {
	private String name;
	@JSONField(serialize = false)
	private Integer age;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss SSS",name="生日")
	private Date birthday;
    ....
}
  • 物件序列化和反序列化

    import java.util.Date
    import com.alibaba.fastjson.JSON;
    public class TestStudent {
    	public static void main(String[] args) {	
    		Student s = new Student();
    		s.setAge(22);
    		s.setBirthday(new Date());
    		s.setName("xiaowang");
    		
    		String str = JSON.toJSONString(s);
    		System.out.println(str);
    		
    		Student stu = JSON.parseObject(str, Student.class);
    		System.out.println(stu);
    	}
    }
    
  • 陣列集合序列化和反序列化

    import java.util.ArrayList;
    import java.util.Date;
    import java.util.Iterator;
    import java.util.List;
    import com.alibaba.fastjson.JSON;
    
    public class TestStudent2 {
    	public static void main(String[] args) {
    		
    		ArrayList<Student> list = new ArrayList<Student>();
    		for(int i =0 ; i<10;i++) {
    			Student s = new Student();
    			s.setAge(10+i);
    			s.setBirthday(new Date());
    			s.setName("xiaowang"+i);
    			list.add(s);
    		}
    		String str = JSON.toJSONString(list);
    		System.out.println(str);
    		
    		List stu = JSON.parseArray(str, Student.class);
    		System.out.println(stu);
    	}
    }