热门搜索 :
考研考公
您的当前位置:首页正文

js 解析JSON数据

来源:东饰资讯网

1、json数据:

JavaScript Object Notation(JavaScript 对象表示法);json是存储和交换文本信息的语法(类似于XML),是一种轻量级的文本数据交换格式,比XML更快更小更易解析。json数据的结构,json有两种结构:对象和数组

2、json数据的写法与原生的对象写法的区别:

对象字面量一般写法是:

var aa ={name:"zoumm",job :"it",age :25};

json对象写法:

{"name":"zoumm","job":"it","age":23,"school":{"name":"大学名",“add”:"中国"}}

因此:json对象不用定义变量,末尾不用写分号,切所有的属性名必须加双引号;

一般数组是这样定义的:

var aa = [23,"zoumm"];

json数组是这样定义的

[23,"zoumm"]

他们的区别是,json数组不用定义变量,末尾不用写分号;

3、为什么json数据要解析:json数据在传输的过程中是以文本格式存在的,即以字符串的形式存在,然而我们的js中操作的却是对象,因此我们必须将json数据解析成对象的操作,然后才能用对象对数据进行访问。

数据格式:

Json字符串:var json_str = ‘{"name":"xiao","age":12}';//单引号

Josn对象:var obj = {"name":"xiao","age":12};

JS对象:Object {name: "xiao", age: 12}

因此:要将Json字符串——>JS对象

4、json数据的解析:

b、用eval()方法转换到Object,再obj.toJSONString()

function myEval() {

var str = '{ "name": "Violet", "occupation": "character" }';

var obj = eval('(' + str + ')');

alert(obj.toJSONString());

}

3、或者用parseJSON()方法,再obj.toJSONString()

注意:eval()是JS原生函数,使用该形式:eval(‘('+‘{name:"xiao",age:12}'+')'),并不安全,无法保证类型转换为JS对象;不建议使用

例子:

5、JS对象——>Json字符串:

Top