json 的存在有两种形式。
一种是:对象的形式存在,我们叫它 json 对象。
一种是:字符串的形式存在,我们叫它 json 字符串。
一般我们要操作 json 中的数据的时候,需要 json 对象的格式。 一般我们要在客户端和服务器之间进行数据交换的时候,使用 json 字符串。
JSON.stringify() 把 json 对象转换成为 json 字符串
JSON.parse() 把 json 字符串转换成为 json 对象
<script type="text/javascript">
// json的定义
var jsonObj = {
"id" : 1,
"user": "root",
"hobby":[1,true,"跳舞"],
"address" :{
"city":"北京",
"stree":"江宁"
},
"phone" : [
{
"phone": 1,
"phone1":11
},
{
"phone": 2,
"phone1":22
},
{
"phone": 3,
"phone1":33
}
]
};
// json的访问
alert(jsonObj.address.city);
for (var i = 0; i < jsonObj.hobby.length; i++) {
document.write(jsonObj.hobby[i] + "<br>");
}
for (var i = 0; i < jsonObj.phone.length; i++) {
var phoneElement = jsonObj.phone[i];
document.write(phoneElement.phone + "<br>");
document.write(phoneElement.phone1 + "<br>");
}
// json对象转字符串
var jsonObjStr = JSON.stringify(jsonObj);
alert(jsonObjStr);//{"id":1,"user":"root","hobby":[1,true,"跳舞"],"address":{"city":"北京","stree":"江宁"},"phone":[{"phone":1,"phone1":11},{"phone":2,"phone1":22},{"phone":3,"phone1":33}]}
// json字符串转json对象
var parse = JSON.parse(jsonObjStr);
alert(parse.id);//1
</script>