目录
概念:JavaScript Object Notation。JavaScript对象表示法
由于其语法简单,层次结构鲜明,现多用于作为数据载体

定义:
var 变量名 = {"key1";value1
"key2";value2
......
};
示例:
var json = {"name";"zhangsan",
"age";23,
"addr";["北京","上海","西安"]
};
获取数据:
变量名.key
json.name
value的数据类型为:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true或false)
数组(在方括号中)
对象(在花括号中)
null
代码示例:
- <script>
-
- var json = {
- "name": "zhangsan",
- "age": 23,
- "addr": ["北京", "上海", "西安"]
- };
-
- //获取值
- alert(json.name);
-
- </script>
浏览器弹出:


请求数据:JSON字符串转为Java对象
响应数据:Java对象转为JSON字符串
Fastjson是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库,是目前Java语言中最快的JSON库,可以实现Java对象和JSON字符串的相互转换。
使用:
1、导入坐标
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>fastjson</artifactId>
- <version>1.2.62</version>
- </dependency>
2、Java对象转JSON
String jsonStr = JSON.toJSONString(obj);
3、JSON字符串转为Java对象
User user = JSON.parseObject(jsonStr,User.class);
代码示例:
User代码:
- public class User {
-
- private Integer id;
- private String username;
- private String password;
-
- public Integer getId() {
- return id;
- }
-
- public void setId(Integer id) {
- this.id = id;
- }
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- @Override
- public String toString() {
- return "User{" +
- "id=" + id +
- ", username='" + username + '\'' +
- ", password='" + password + '\'' +
- '}';
- }
- }
FastJsonDemo代码:
- import com.alibaba.fastjson.JSON;
-
- public class FastJsonDemo {
-
- public static void main(String[] args) {
- //1.将java对象转为JSON字符串
- User user = new User();
- user.setId(1);
- user.setUsername("zhangsan");
- user.setPassword("123");
-
- String jsonString = JSON.toJSONString(user);
- System.out.println(jsonString);
-
- //2.将JSON字符串转为java对象
- User u = JSON.parseObject("{\"id\":1,\"password\":\"123\",\"username\":\"zhangsan\"}", User.class);
- System.out.println(u);
- }
- }
控制台执行结果:
