JSON学习笔记

什么是 JSON ?

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 是存储和交换文本信息的语法。类似 XML。JSON 比 XML 更小、更快,更易解析。
  • JSON 具有自我描述性,更易理解

JSON 语法规则

JSON 语法是 JavaScript 对象表示语法的子集。

  • 数据在名称/值对中,也成键值对(key/value
  • 数据由逗号分隔
  • 大括号保存对象
  • 中括号保存数组

JSON 名称/值对

JSON 数据的书写格式是:名称/值对。

名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是

"name" : "json学习笔记"

这很容易理解,等价于这条 JavaScript 语句:

name = "json学习笔记"

JSON 值

JSON 值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在中括号中)
  • 对象(在大括号中)
  • null

JSON 对象

JSON 对象在大括号({})中书写:

对象可以包含多个名称/值对:

{ "name":"json" , "url":"json.com" }

这一点也容易理解,与这条 JavaScript 语句等价:

name = "json"
url = "json.com"

JSON 数组

  • JSON 数组在中括号中书写:

  • JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。

  • 数组可包含多个对象:

{
"sites": [
{ "name":"键鼠" , "url":"www.jianshu.com" }, 
{ "name":"谷歌" , "url":"www.google.com" }, 
{ "name":"微博" , "url":"www.weibo.com" }
]
}

在上面的例子中,对象 "sites" 是包含三个对象的数组。每个对象代表一条关于某个网站(name、url)的记录。

JSON 对象中的数组
对象属性的值可以是一个数组:

实例

{
"name":"网站",
"num":3,
"sites":[ "Google", "JD", "Taobao" ]
}

我们可以使用索引值来访问数组:

x = myObj.sites[0];

循环数组

你可以使用 for-in 来访问数组:

实例

for  (i  in  myObj.sites)  { 
 x += myObj.sites[i] + "<br>"; 
}

你也可以使用 for 循环:

实例

for  (i = 0; i < myObj.sites.length; i++)  {  
x += myObj.sites[i] + "<br>"; 
}

嵌套 JSON 对象中的数组

JSON 对象中数组可以包含另外一个数组,或者另外一个 JSON 对象:

实例

myObj = {
    "name":"网站",
    "num":3,
    "sites": [
        { "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] },
        { "name":"Run", "info":[ "跑步", "工具", "微信" ] },
        { "name":"Taobao", "info":[ "淘宝", "网购" ] }
    ]
}

我们可以使用 for-in 来循环访问每个数组:

实例

for (i in myObj.sites) {
    x += "<h1>" + myObj.sites[i].name + "</h1>";
    for (j in myObj.sites[i].info) {
        x += myObj.sites[i].info[j] + "<br>";
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,674评论 0 13
  • 食材:四个小土豆、红烧肉汁、香葱 烹制:清水煮把土豆整个煮熟,冷却剥皮、用调羹压碎待用;锅里倒清油烧热,下葱花,倒...
    闽秀儿在成都阅读 3,173评论 0 2
  • 其实每个人的人生都可以加量不加价,那些难的事情很容易搞得,以前六七百的文字现在可以扩增到千字左右,原来突破自己很有...
  • 只要您想上帝就会为你开路! 旅行的意义: 1:让自己放松。 2:观察世界,了解世界! 3:体验发现人们如何改造自然...
    玉如于成阅读 994评论 0 0