前言:
眼前小伙伴们对“java遍历多层json对象”大体比较注意,咱们都需要知道一些“java遍历多层json对象”的相关文章。那么小编同时在网摘上汇集了一些有关“java遍历多层json对象””的相关资讯,希望看官们能喜欢,小伙伴们快快来学习一下吧!#头条创作挑战赛#
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: ";, 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: ";, data: JSON.stringify(jsObject) }).then(function(resp){ alert(resp.data); })
而 axios 是一个很强大的工具。只需要将需要提交的参数封装成 js 对象,并将该 js 对象作为 axios 的 data 属性值进行,它会自动将 js 对象转换为 JSON 串进行提交。如下:
axios({ method: "post", url: ";, data: jsObject }).then(function(resp){ alert(resp.data); })
注意:
js 提供的 JSON 对象只需要了解一下即可。因为 axios 会自动对 js 对象和 JSON 串进行相互转换。
发送异步请求时,如果请求参数是 JSON 格式,那请求方式必须是 POST 。因为 JSON 串需要放在请求体中