JSON (JavaScript Object Notation) 简述及读取

本文简要介绍了JSON(JavaScript Object Notation)的结构,包括名称/值对和不同类型的值。示例展示了JSON如何表示对象和数组,并提供了一个在JavaScript中使用jQuery读取JSON文件的例子。内容涵盖了JSON数据的本地读取限制,特别是在不同浏览器中的行为差异。

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}
    	]
    }
    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值