java的基本语法和代码(JavaWeb24-2JSON基础语法)

#创作挑战赛#

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>

java的基本语法和代码(JavaWeb24-2JSON基础语法)(1)

若想要获取到 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>

测试结果如下:

java的基本语法和代码(JavaWeb24-2JSON基础语法)(2)

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 串需要放在请求体中

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页