这几天理解的 json

之前一直有听说 JSON (javascript object notation),但是一直没有去看明白是什么一回事。

知道这几天才对这个当下很流行的用于数据交换的格式进行了解。

格式:

先说一下这个JSON的格式(其实看名字就知道这个跟javascript的对象类型有什么不可告人的关系)

{
    "id":1,
    "name":"peter"
}

好吧,这个是最简单的一个JSON对象。

其实一开始我是以为 JSON 就是 js 的对象,但是这个只是用了 js 对象的格式,而且写法也有写规则:

键一定要用 “ ” 这个双引号括住,而且如果值是字符串的话也要用 “” 这个括起来,不然会报错的。

与字符串的相互转换:

作为数据交换的对象,最主要目的是和后台进行数据交换,不然要他来干嘛。

先说一下把 JSON 对象转换成字符串,毕竟传到后台的是一段 JSON 格式的字符串。

var jsonDemo = {
    "id":1,
    "name":"peter"
}
function jsonToStr(json) {
    return JSON.stringify(json);
}
var result = jsonToStr(jsonDemo);

好了,现在就可以把 JSON 格式的字符串输出了。

然后再有把 JSON 格式的字符串转换成JSON

var jsonDemo2 = '{\
    "id":1,\
    "name":"peter"\
}'

function strToJSON(str) { return JSON.parse(str); }

var result = strToJSON(jsonDemo2);

还有一个更简单的方法

新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明 json 包版本太低。

来自 $雨$

原文地址:https://www.cnblogs.com/zxdesign/p/2991394.html