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); } }