js怎么把字符串转换成json

JavaScript014

js怎么把字符串转换成json,第1张

例如:

JSON字符串:

var str1 = '{ "name": "cxh", "sex": "man" }'

JSON对象:

var str2 = { "name": "cxh", "sex": "man" }

一、JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

//由JSON字符串转换为JSON对象

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

或者

var obj = str.parseJSON()//由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str)//由JSON字符串转换为JSON对象

然后,就可以这样读取:

Alert(obj.name)

Alert(obj.sex)

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

1.JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。

JSON的规则很简单:对象是一个无序的“‘名称:值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值'对”之间使用“,”(逗号)分隔。

规则如下:

1)映射用冒号(“:”)表示。名称:值

2)并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2

3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:值1,名称2:值2}

4) 并列数据的集合(数组)用方括号(“[]”)表示。

[

{名称1:值,名称2:值2},

{名称1:值,名称2:值2}

]

5 )元素值可具有的类型:string, number, object, array, true, false, null

2.json中的五种写法:

1)传统方式存储数据,调用数据

复制代码代码如下:

<script type="text/javascript">

//JS传统方式下定义"类"

function Person(id,name,age){

this.id = id

this.name = name

this.age = age

}

//JS传统方式下创建"对象"

var p = new Person(20141028,"一叶扁舟",22)

//调用类中的属性,显示该Person的信息

window.alert(p.id)

window.alert(p.name)

window.alert(p.age)

</script>

2)第一种样式:

复制代码代码如下:

<script type="text/javascript">

var person = {

id:001,

name:"一叶扁舟",

age:23

}

window.alert("编号:"+person.id)

window.alert("用户名:"+person.name)

window.alert("年龄:"+person.age)

</script>

3)第二种样式:

复制代码代码如下:

<script type="text/javascript">

var p = [

{id:001,name:"一叶扁舟",age:22},

{id:002,name:"无悔",age:23},

{id:003,name:"无悔_一叶扁舟",age:24}

]

for(var i = 0i <p.lengthi++){

window.alert("编号:"+p[i].id)

window.alert("用户名:"+p[i].name)

window.alert("年龄:"+p[i].age)

}

</script>

4)第三种样式:

复制代码代码如下:

<script type="text/javascript">

var p = {

"province":[

{"city":"福州"},

{"city":"厦门"},

{"city":"莆田"}

]

}

window.alert("所在城市:" + p.province[0].city)

</script>

5)第四种样式:

复制代码代码如下:

<script type="text/javascript">

var p = {

"ids":[

{"id":001},

{"id":002},

{"id":003}

],

"names":[

{"name":"一叶扁舟"},

{"name":"无悔"},

{"name":"无悔_一叶扁舟"}

]

}

for(var i = 0i <p.names.lengthi++){

window.alert("名字:"+p.names[i].name)

}

for(var i = 0i <p.ids.lengthi++){

window.alert("id:"+p.ids[i].id)

}

</script>

6)第五种样式:

复制代码代码如下:

<script type="text/javascript">

var p = {

"province":["福州","厦门","莆田"]

}

window.alert("城市的个数:"+p.province.length)

window.alert("分别是:\n")

for(var i=0i<p.province.lengthi++){

window.alert(p.province[i])

}

</script>