目录

​一、JSON概念​

​二、JSON基础语法​

​三、JSON数据和Java对象转换​


一、JSON概念

概念:JavaScript Object Notation。JavaScript对象表示法

由于其语法简单,层次结构鲜明,现多用于作为数据载体

JSON概念、基础语法及数据和对象转换_javascript

二、JSON基础语法

定义:

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概念、基础语法及数据和对象转换_json_02

 三、JSON数据和Java对象转换

JSON概念、基础语法及数据和对象转换_json_03

请求数据: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);
}
}

控制台执行结果:

JSON概念、基础语法及数据和对象转换_java_04