JSON
JSON:JavaScript 对象表示法(JavaScript Object Notation), 一种轻量级的数 据交换格式, 易于人阅读和编写, 也易于机器解析和生成。用来描述数据结构, 它是基于纯文本的数据格式,是一种轻量级的数据交换格式。广泛应用于服务端 与客户端的数据交互。
JSON 是存储和交换文本信息的语法,类似 XML。
JSON 采用完全独立于语言的文本格式,也使用了类似于 C 语言家族的习惯 ( 包括 C, C++, C#, Java, JavaScript, Perl, Python…)这些特性使 JSON 成为理想 的数据交换语言。
一.JSON格式
1)两种构建结构:
a)、对象:“名称/值”对的集合(A collection of name/value pairs)
不同的语言中,它被理解为对象(object),记录(record),结构(struct), 字典 (dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
b)、数组:值的有序列表(An ordered list of values)
在大多数语言中,它被理解为数组(array)、矢量(vector), 列表(list)或者序列 (sequence)。
经过对象、数组 2 种结构就可以组合成复杂的数据结构了。
2) 具体形式:
Json 以 key-value 的形式存储数据
Key 的取值 为 String 类型;
Value 的取值 为 String,boolean,Number,数组,Object,null;
Json 串以{开始,以}结尾;
Json 串中数组是以[开始,以]结尾;
Json 串中 Object 是以{开始,以}结尾;
注意:jquery 1.4 以后对 json 格式变严格了,也就是说必须要这种格式的{“键”:"值 ",“键”:"值 "};像原来的{键:值,键:值}和{‘键’:‘值’,‘键’:‘值’}这种都是错误的,不合标 准,所以 jquery 返回 error
二.JSON解析方式
1.使用GSON处理:
Gson是一个Google提供的一个Java库,可用于将Java对象转换为JSON表示。 它也可以被用来将 JSON 字符串转换成一个等效的 Java 对象。
a)转为JSON字符串:
public class GsonTest {
/**
* 将Java对象转换成JSON格式的字符串
* String 字符串(JSON格式) = new Gson().toJson(Java对象);
*
*
* {
"userId":1,
"uname":"zhangsan"
"upwd":"123456",
"uage":18
}
*/
@Test
public void testJavaToJson() {
/* Java对象 */
User user = new User();
user.setUage(18);
user.setUname("zhangsan");
user.setUpwd("123456");
user.setUserId(1);
// 得到gson对象
Gson gson = new Gson();
String json = gson.toJson(user