2、JSON
简介
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
语法
1.对象表示为键值对,数据由逗号分隔,花括号保存对象,方括号保存数组。
2、json数据类型
字符串 :"abc", "123"
数字 : 1 , 1.21
对象 :{"name" : "张三"}
数组 :[1,2,3]
boolean :true,false
null :null
3.常用对象:
{‘name‘: "张三", "age": 18, "score":100} => JAVA对象Student Teacher。反序列化
java对象=> JSON字符串 序列化。
4.常用数组
[{"name": "张三", "age": 18},{"name": "李四", "age": 16}]
5.组合使用
{
"name": "中国",
"provinces": [{
"name": "黑龙江",
"capital": "哈尔滨"
}, {
"name": "广东",
"capital": "广州"
}, {
"name": "湖南",
"capital": "长沙"
}]
}
JSON解析
fastJson
Java对象与JSON之间的相互转换((对象变成json字符串)序列化与(json字符串变成对象)反序列化操作)
1.字符串转对象
String json = "{name:\"张三\",age:\"18\"}";
Student s1 = JSONObject.parseObject(json, Student.class);
2.对象转字符串
Student s1 = new Student("张三",18);
String jsonString = JSONObject.toJSONString(s1);
3.map转字符串
Map<String, String> map = new HashMap<String, String>();
map.put("error", "1");
map.put("msg", "系统错误");
String jsonString = JSONObject.toJSONString(map);
4.字符串数组转成List集合
String json = "[{\"age\":18,\"name\":\"张三\"},{\"age\":17,\"name\":\"李四\"}]";
List<Student> list = JSONObject.parseArray(json, Student.class);
//异常出现之后处理方式
}
//。。。。 剩下的代码能够继续执行。
运行时异常
只有在运行时才有肯能会出现的异常。
NullPotionException
IndexOutOfBoundsException
ClassCaseException