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);
    	}
    }
    
posted @ 2021-09-04 15:41  huameixiao  阅读(1994)  评论(0编辑  收藏  举报