java中json的常用方法(JavaWeb24-2JSON基础语法)
java中json的常用方法(JavaWeb24-2JSON基础语法)<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> // 1. 定义JSON字符串 let jsonstr = '{"name":"zhangsan" "age":23 "addr":["北京" "广州"]}'; console.log(jsonstr); // 2. 将 JSON 字符串转为 JS 对象
#头条创作挑战赛#
14.2 JSON 基础语法14.2.1 定义格式JSON 本质就是一个字符串,但是该字符串内容是有一定的格式要求的。 定义格式如下:
let 变量名 = '{"key":value "key":value ... }'
JSON 串的键要求必须使用双引号括起来,而值根据要表示的类型确定
value 的数据类型分为如下:
- 数字(整数或浮点数)
- 字符串(使用双引号括起来)
- 逻辑值(true或者false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
示例如下:
let jsonstr = '{"name":"zhangsan" "age":23 "addr":["北京" "广州"]}';
14.2.2 代码演示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//
let jsonstr = '{"name":"zhangsan" "age":23 "addr":["北京" "广州"]}';
alert(jsonstr);
</script>
</body>
</html>
若想要获取到 JSON 串中的 name 属性值,则需要借助 JS 提供的 JSON 对象
JSON 对象由如下两个方法:
- parse(str):将 JSON 串转换成 JS 对象。
- 使用方式:var jsObject = JSON.parse(jsonstr);
- stringify(obj):将 js 对象 转换成 JSON 串
- 使用方式:var jsonStr = JSON.stringify(jsObject);
示例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
// 1. 定义JSON字符串
let jsonstr = '{"name":"zhangsan" "age":23 "addr":["北京" "广州"]}';
console.log(jsonstr);
// 2. 将 JSON 字符串转为 JS 对象
let jsObject = JSON.parse(jsonstr);
console.log(jsObject);
console.log(jsObject.name);
// 3. 将 JS 对象转换成 JSON 字符串
let jsonStr = JSON.stringify(jsObject);
console.log(jsonStr);
</script>
</body>
</html>
测试结果如下:
14.2.3 发送异步请求携带参数以后使用 axios 发送请求时,如果要携带复杂的数据时都会以 JSON 格式进行传递,如下
axios({
method: "post"
url: "http://localhost:5050/AjaxDemo/AjaxDemo1"
data: "username=zhangsan"
}).then(function(resp){
alert(resp.data);
})
请求参数不可能由我们自己拼接字符串,可以提前定义一个 js 对象,用来封装需要提交的参数,然后使用 JSON.stringify(js对象) 转换为 JSON 串,再将该 JSON 串作为 axios 的 data 属性值进行请求参数的提交。如下:
let jsObject = {name: "zhangsan"}
axios({
method: "post"
url: "http://localhost:5050/AjaxDemo/AjaxDemo1"
data: JSON.stringify(jsObject)
}).then(function(resp){
alert(resp.data);
})
而 axios 是一个很强大的工具。只需要将需要提交的参数封装成 js 对象,并将该 js 对象作为 axios 的 data 属性值进行,它会自动将 js 对象转换为 JSON 串进行提交。如下:
axios({
method: "post"
url: "http://localhost:5050/AjaxDemo/AjaxDemo1"
data: jsObject
}).then(function(resp){
alert(resp.data);
})
注意:
js 提供的 JSON 对象只需要了解一下即可。因为 axios 会自动对 js 对象和 JSON 串进行相互转换。
发送异步请求时,如果请求参数是 JSON 格式,那请求方式必须是 POST 。因为 JSON 串需要放在请求体中