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

}

posted on 2018-01-31 23:21  東風★破  阅读(170)  评论(0)    收藏  举报

导航