第3.74课 上课 JSON(JavaScript对象标记), JSON介绍, …
3_74

JSON(JavaScript对象标记)
JSON介绍
1.JSON的全称是JavaScript对象标记(JavaScript Object Notation),它是一种轻量级的数据交换格式,特别适合于服务器与JavaScript的交互。JSON有点类似于XML,也是一种与平台无关的数据交换格式。但是,JSON比XML文件更小,而且更容易解析。当前各种流行的web应用框架都对Json提供了良好的支持(例如:Java、PHP、C、JavasScript等)。
2.JSON主要包含两种数据结构
一种是:无序的key-value对组成的数据集合(类似Java的Map集合):
语法格式:{key1:value1,key2:value2,key3:value3,...}
例如:{id:1,name:"Joe",sex:"male",age:20}

另外一种是:值的有序列表(在大部分语言中,它被理解为数组):
例如:
[1,2,3,4]
["a","b","c"]
[{name:"Joe",sex:"male",age:20},{name:"Suki",sex:"female",age:21}]

3.JSON的值可以是如下类型数据

生成
/**
* java对象转json格式字符串
*/
public static void main(String[] args) throws IOException {
User user = new User(168,"admin","123456","admin2","广东","广州",1,
new Date(),"1783322568@qq.com","10086" ,"广东广州");
//创建XStream对象,并绑定对应的java对象解析成json的驱动器
XStream xs = new XStream(new JsonHierarchicalStreamDriver());
//绑定别名
xs.alias("user", User.class);
//将java对象转换成json字符串
String jsonStr = xs.toXML(user);
System.out.println(jsonStr);
//将java对象转换成文件
xs.toXML(user, new FileWriter("user.json"));
}
解析
/**
* JSON数据转java对象
*/
public static void main(String[] args) {
//创建XStream对象并绑定json转java对象的驱动
XStream xs = new XStream(new JettisonMappedXmlDriver());
//指定别名对应的java类型
xs.alias("user", User.class);
//将json数据文件转换成java对象
User u = (User)xs.fromXML(new File("user.json"));
System.out.println(u);
}
浙公网安备 33010602011771号