json字符串介绍
- (1)什么是json字符串
JSON( JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。 - (2)有什么特点?
》1 完全独立于编程语言的文本格式来存储和表示数据。
》2 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
》3 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
json格式语法
- (1)json如何编写
在javascript中可以直接识别json的语法 - (2)Java对象与json对应关系
User ---->json
List ---->json
Map<String,List<User>> ---->json
var data = {"user",[{},{},{}]}
web\4-json.html
web\1-json.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
//-------------1:对象类型-----------
//键必须是字符串。值可以是任何类型
/*
var jsonStr ={"username":"baoqiang","password":"123"}; //Java Bean
alert(jsonStr.username);
var jsonStr2 = {"user":{"username":"baoqiang2","password":"123"}};
alert(jsonStr2.user.password);
var jsonStr3= {"user1":{"username":"baoqiang2","password":"123"},
"user2":{"username":"bingbing","password":"456"}};
alert(jsonStr3.user.password);
alert(jsonStr3.user2.username);
*/
//-------------2:数组类型----------- Java中集合
var jsonArray1 = [{"username":"baoqiang1","password":"123"},
{"username":"baoqiang2","password":"123"},
{"username":"baoqiang3","password":"123"}];
alert(jsonArray1[1].username);
var jsonArray2 = { //Map<String,List<String>>
"baobao":[
{"name":"小双","age":18,"addr":"扬州"},
{"name":"建宁","age":18,"addr":"北京海淀"},
{"name":"龙儿","age":38,"addr":"岛国"},
{"name":"阿珂","age":17,"addr":"台湾"}
]
}
alert(jsonArray2.baobao[2].addr);
var jsonArray3 = {
"baobao":[
{"name":"小双","age":18,"addr":"扬州"},
{"name":"建宁","age":18,"addr":"北京海淀"},
{"name":"龙儿","age":38,"addr":"岛国"},
{"name":"阿珂","age":17,"addr":"台湾"}
],
"haohao":[
{"name":"楠楠","age":23,"addr":"北京"},
{"name":"倩倩","age":18,"addr":"上海"}
]
}
alert(jsonArray3.haohao[0].addr);
</script>
</head>
<body>
</body>
</html>
json转换工具***
- (1)什么是json的转换工具
json的转换工具是通过java封装好的一些jar工具包,直接将java对象或集合转换成json格式的字符串。 - (2)常见的转换工具
- (3)使用步骤
》1添加jar
》2调用
src\com\wzx\pack01_jackson\DemoJackson.java
public class DemoJackson {
public static void main(String[] args) throws JsonProcessingException {
User user = new User(123,"baoqiang","123456");
//1:将java bean对象转为json
//1.1 创建一个ObjectMapper对象
ObjectMapper mapper = new ObjectMapper();
//1.2 调用方法writeValueAsString方法
String jsonStr1 = mapper.writeValueAsString(user);
System.out.println(jsonStr1);
//2:将List集合对象转为json
ArrayList<User> list = new ArrayList<User>();
list.add(new User(123,"baoqiang1","123456"));
list.add(new User(123,"baoqiang2","123456"));
list.add(new User(123,"baoqiang3","123456"));
String jsonStr2 = mapper.writeValueAsString(list);
System.out.println(jsonStr2);
//3:将Map集合对象转为json
Map<String,User> map = new HashMap<String,User>();
map.put("user1", new User(123,"baoqiang1","123456"));
map.put("user2", new User(123,"baoqiang2","123456"));
map.put("user3", new User(123,"baoqiang3","123456"));
String jsonStr3 = mapper.writeValueAsString(map);
System.out.println(jsonStr3);
//4:简化版
new ObjectMapper().writeValueAsString(user);
}
}
src\com\wzx\pack03_jackson\User.java
public class User {
private int id;
private String name;
private String password;
//省略get/set
}