JSON 语法规则
JSON 语法是 JavaScript 对象表示语法的子集。
-
数据在键值对中
-
数据由逗号分隔
-
花括号保存对象
-
方括号保存数组
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:
|
1
|
"firstName":"John"
|
这很容易理解,等价于这条 JavaScript 语句:
|
1
|
firstName="John"
|
JSON 值
JSON 值可以是:
-
字符串(在双引号中)
-
逻辑值(true 或 false)
-
数组(在方括号中)
-
对象(在花括号中)
-
{ "people":[ {"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"}, {"firstName":"Jason","lastName":"Hunter","email":"bbbb"}, {"firstName":"Elliotte","lastName":"Harold","email":"cccc"} ] }
-
JSON 读取本地文件,谷歌浏览器由于其安全机制问题不允许,可以使用火狐浏览器测试。
-
-
$(document).ready(function(){ $.getJSON("questions.json",function(data){ //利用jQuery 进行 json 文件读取 $.each(data.questions,function(infoIndex,info){ // alert(infoIndex);//数组下标号 //给数组依次添加对象 array[infoIndex] = {ques:info.ques,options:[info.options[0],info.options[1], info.options[2],info.options[3]],correctAnsIndex:info.correctAnsIndex}; }); }); });
-
json 文件如下:
-
{ "questions":[ {"ques":"中山市博物馆成立于哪一年?","options":["A:1984年","B:1985年","C:1986年","D:1987年"],"correctAnsIndex":"0"}, {"ques":"下列选项中哪个属于非物质文化遗产范畴?","options":["A:泰山封禅","B:剪纸","C:孙中山思想","D:摊煎饼"],"correctAnsIndex":"2"}, {"ques":"国家对非物质文化遗产的保存方式不包括?","options":["A:认定","B:记录","C:建档","D:封存"],"correctAnsIndex":"3"}, {"ques":"《中华人民共和国非物质文化遗产法》是哪一年颁布的?","options":["A:2011年","B:2006年","C:2012年","D:2010年"],"correctAnsIndex":"0"}, {"ques":"国务院公布第一批国家级非物质文化遗产名录是在哪一年?","options":["A:2007年","B:2000年","C:2006年","D:2005年"],"correctAnsIndex":"2"}, {"ques":"到目前为止,我国一共公布了几批国家级非物质文化遗产名录?","options":["A:二批","B:三批","C:四批","D:五批"],"correctAnsIndex":"2"}, {"ques":"中山市博物馆现设有几个分馆?","options":["A:3个","B:4个","C:5个","D:6个"],"correctAnsIndex":1} ] }
本文简要介绍了JSON(JavaScript Object Notation)的结构,包括名称/值对和不同类型的值。示例展示了JSON如何表示对象和数组,并提供了一个在JavaScript中使用jQuery读取JSON文件的例子。内容涵盖了JSON数据的本地读取限制,特别是在不同浏览器中的行为差异。
8958

被折叠的 条评论
为什么被折叠?



