🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
JSON是一种存储和交换文本信息的语法,格式如下: ```json { "name" : "大主宰", "author": "天蚕土豆", "intro" : "玄幻小说...", "section": [ { "name":"第一章" , "url":"http://biquge.com/book/11111/1.html" }, { "name":"第二章" , "url":"http://biquge.com/book/11111/2.html" } ] } ``` 上面的示例是多多猫小说插件book页面要返回给多多猫的数据,它包含了一个书籍页面的所有信息,名字,作者,简介和章节。有了这些,多多猫就可以把一本书很好的展现出来,也就是大家点击一本书进入的书籍页面。<br> JSON和html一样属于层级结构。一层层嵌套,最外层则是一对大括号`{}`,然后其中`[]`代表的是数组,每对键值对之间用逗号`,`隔开,同一对里面用冒号`:`隔开。因为章节列表有很多章,所以需要这样一个数组来装下章节列表。 然后我们回想一下JavaScript基础中关于`对象`和`数组`的那个混合示例,会发现JSON和JS对象的格式是如此相似,实际上JSON(JavaScript Object Notation,JavaScript对象表示法)是一种严格的JS对象的格式。因为JSON文本可以跨平台快速传输,所以多多猫读取插件返回的数据,这种数据是需要JSON字符串。JS对象可以通过下面这个函数轻松的转化为JSON字符串。 ```javascript // 这是book对象 var book = { "name" : "大主宰", "author": "天蚕土豆", "intro" : "玄幻小说...", "section": [ { "name":"第一章" , "url":"http://biquge.com/book/11111/1.html" }, { "name":"第二章" , "url":"http://biquge.com/book/11111/2.html" } ] }; //js对象转换成json字符串,只需要记住这个方法即可 var strjson = JSON.stringify(book); ``` 这时候strjson就变成了字符串类型<br> **注意**:最外层用单引号包裹起来的json格式是`json字符串`, 字符串是没办法像`js对象`一样直接取值,而是先要转化为json对象这种结构才能进行取值操作,如下: ```javascript //声明一个json字符串 var strjson = '{ "name" : "大主宰", "author": "天蚕土豆", "intro" : "玄幻小说...", "section": [ { "name":"第一章" , "url":"http://biquge.com/book/11111/1.html" }, { "name":"第二章" , "url":"http://biquge.com/book/11111/2.html" } ] }'; //转化成json对象模式 var book = JSON.parse(strjson); //取值书名,得到字符串"大主宰" var name = book.name; ```