js解析json数据格式及格式转换

it2022-05-05  127

JSON数据

[javascript Object Notation]JavaScript对象表示法 是一种轻量级的数据交换格式

json的数据结构

● 一种是“名称/值”的组合 , 一般被称之为对象 "名称/值"的格式一般是左边以{开始,右边以}结束,每个名称后面跟冒号:,多个组合之间用逗号,分割。

● 一种是有序列表 , 一般被称之为数组。 以[开始,以]结束,中间是无序的value值,可以是value值可以是任意格式

对value值的说明:value值可以是双引号括起来的任意数据格式,包括(字符串string、数值number、布尔值、null、对象object、数组array等)

👉 参考链接:http://www.json.org/json-zh.html

JSON数据解析

JSON字符串转为js对象

● eval()方法处理 eval()方法是js提供的一个计算器,参数为一个必输入的可计算字符串,会返回计算的结果。

说明:如果数据是来自于第三方服务器,请谨慎慎用该函数

● JSON.parse()方法处理 js提供的对标准json数据解析的函数,接收两个参数,JSON.parse(json[,revicer]),第一个参数为json数据,第二个参数为要对数据进行处理的函数(非必须);

两种方法转换实例

let json1 = '{"name":"jianyao" , "age":"29"}'; let json2 = '{"status":"1" , "msg":"" , "data":{"name":"jianyao","age":"29"}}'; let json3 = "{'status':'1' , 'msg':'' , 'data':{'name':'jianyao','age':'29'}}"; let eval1 = eval('('+json1+')'); let eval2 = eval('('+json2+')'); let eval3 = eval('('+json3+')'); console.log(eval1.name); //jianyao console.log(eval2.data.name); //jianyao console.log(eval3.data.name); //jianyao let parse1 = JSON.parse(json1); let parse2 = JSON.parse(json2); let parse3 = JSON.parse(json3); console.log(parse1.name); //jianyao console.log(parse2.data.name); //jianyao console.log(parse3.data.name); //Uncaught SyntaxError: Unexpected token ' in JSON at position 1

JS对象转换为json对象

● JSON.stringfy()方法 主要用于向服务器发送数据,可以将js数组、对象转换为json字符串

代码实例

let array = ["july","jenny","lady"]; let object1 = {status:1 , msg:"发送的数据",data:{name:["july","jenny","lady"] , age:"29"}}; let arrayJson = JSON.stringify(array); let objJson = JSON.stringify(object1); console.log(arrayJson); //["july","jenny","lady"] console.log(objJson); // {"status":1,"msg":"发送的数据","data":{"name":["july","jenny","lady"],"age":"29"}}

最新回复(0)