JSON 在 JavaScript 中的使用
json的定义
json是由键值对组成,并且由花括号(大括号)包围。每个键由引号引起来,键和值之间使用冒号进行分隔,多组键值对之间使用 , 进行分隔。
<script type="text/javascript">
var jsonObj = {
"key1":12,
"key2":"abc",
"key3":true,
"key4":[11,"arr",false],
"key5":{
"key5_1":551
"key5_2":"key5_2_value"
},
"key6":[{
"key6_1_1":"6611",
"key6_1_2":"key6_1_2_value"
},{
"key6_2_1":"6621",
"key6_2_2":"key6_2_2_value"
}]
}
</script>
json的访问
json本身是一个对象。
json中的key我们可以理解为是对象中的一个属性
json中的key访问就和访问对象的属性一样:json对象.key
json的两个常用的方法
json的存在有两种形式。
1、对象的形式存在,我们叫它json对象
2、字符串的形式存在,我们叫它json字符串
JSON.stringify( ) 把json对象转换成为json字符串
JSON.parse( ) 把json字符串转换成为json对象
一般我们要操作json中的数据的时候,需要json对象的格式
一般我们要在客户端和服务器之间进行数据交换的时候,使用json字符串
json在Java中的使用
javaBean 和 JSON 之间的转换
Person person = new Person(1,"国哥好帅!");
//创建Gson对象实例
Gson gson = new Gson();
String s = gson.toJson(person);
System.out.println(s);
//fromJson把json字符串转换回java对象
//第一个参数是json字符串
//第二个参数是转换回去的Java对象类型
Person person1 = gson.fromJson(s, Person.class);
System.out.println(person1);
List 和 JSON的互转
//把list转换为json字符串
List<Person> personList = new ArrayList<>();
personList.add(new Person(1,"彬哥"));
personList.add(new Person(2,"保罗乔治"));
Gson gson = new Gson();
String s = gson.toJson(personList);
System.out.println(s);
List<Person> list = gson.fromJson(s, new PersonListType().getType());
System.out.println(list);
Person person = list.get(0);
System.out.println(person);
Map 和 JSON的互转
//Map 和 JSON 的互转
Map<Integer,Person> personMap = new HashMap<>();
personMap.put(1,new Person(1,"彬哥真帅"));
personMap.put(2,new Person(13,"乔治乔治"));
personMap.put(3,new Person(24,"科比布莱恩"));
Gson gson = new Gson();
String p = gson.toJson(personMap);
System.out.println(p);
Map<Integer,Person> personMap1= gson.fromJson(p,new PersonMapType().getType());
System.out.println(personMap1);