简介:
JSON(JavaScriptObject Notation)、轻量级数据交换格式、很是适合于服务器与 JavaScript 的交互。javascript
一、对象
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每一个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。java
var person = { "name":"huochai", "age":29, "school":{ "name":"diankeyuan", "location":"beijing" }};
二、数组
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。json
var students = [ {"sno":"001","name":"jack","age":130}, {"sno":"002","name":"tame","age":120}, {"sno":"003","name":"cule","age":110}, ];
一些JSON实例数组
var person = { "name":"huochai", "age":29, "school":{ "name":"diankeyuan", "location":"beijing" }}; var strJson = '{ "name":"huochai", "age":29, "school":{ "name":"diankeyuan", "location":"beijing" }}'; var aa = 'abc'; var bb = ['baidu','taobao']; var cc = {'persons': ['zhangsan','lisi']}; var students = [ {"sno":"001","name":"jack","age":130}, {"sno":"002","name":"tame","age":120}, {"sno":"003","name":"cule","age":110}, ]; var personOther = JSON.parse(strJson); alert(personOther.age);
JSON之因此流行,是由于能够把JSON数据结构解析为有用的javascript对象服务器
ECMAScript5对解析JSON的行为进行了规范,定义了全局对象JSON数据结构
JSON对象有两个方法:stringify()和parse()。这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript值code
var strPerson = JSON.stringify(person); alert(strPerson);
var strStudents = JSON.stringify(students); alert(strStudents);
JSON.parse方法用于将JSON字符串转化成对象对象
var strPerson = JSON.stringify(person); var personObj = JSON.parse(strPerson);
var strStudents = JSON.stringify(students); var studentsObj = JSON.parse(strStudents);
对应的java表示:ip
public class Person { public String name; public int age; public School school; }
public class School { public String name; public String location; }
利用fastjson将java对象转换成JSON字符串字符串
Person person = new Person(); person.name = "huochai"; person.age = 29; person.school = new School(); person.school.name = "diankeyuan"; person.school.location = "beijing"; String strJson = JSON.toJSONString(person); System.out.println(strJson); Person person2 = new Person(); person2.name = "huochai2"; person2.age = 292; person2.school = new School(); person2.school.name = "diankeyuan2"; person2.school.location = "beijing2"; List<Person> lst = new ArrayList<Person>(); lst.add(person); lst.add(person2); String strJson2 = JSON.toJSONString(lst); System.out.println(strJson2);