Json

Json语法

  • 数据使用名:值对表示
  • 使用{}保存对象,每个名称后面跟着一个‘:’(冒号),名/值对使用,(逗号)分割
  • 使用【】保存数组,数组值使用,(逗号)分割。
  • 简单例子
{
  "book" : [
                        {
                                "id" : "01",
                                "language" : "java",
                                "edition" : "third"
                        },
                        {
                                "id" : "02",
                                "language" : "c++",
                                "edition" : "sencond"
                        } ]               
}
  • Json支持一下两种数据结构

名/值对集合:这一数据结构由不同的编程语言支持
有序的值列表:包括数组、列表、向量或序列等等。

Json的语法规则

Json语法是JavaScript对象表示法语法的子集
Json语法规则不复杂,它参考了C语言家族的一些习惯,学习起来并不感到陌生。

  • 数据在 名称/值对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组
  • 书写格式

名称:值对
注意:
名称:值对包括字段名称(在双引号中),后面写一个冒号,然后就是值
例:
"firstName" : "Json"

Json的值

可以是:

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

Json对象

  • Json对象在花括号中书写
  • 对象可以包含多个名称 / 值对
    例如:
{
"firstName" : "JavaScript" , "lastName" : "Json"
}

Json数组

  • Json数组在方括号中书写:
  • 数组可以包含多个对象:
{
"employees" : [
  {
  "firstName" : "John" , "lastName" : "Doe"
  },
  {
"firstName" : "Anna" , "lastName" : "Smith"
  }]
}

上面的例子中,对象employees是包含了两个对象的数组,每一个对象代表一条关于某人(有名和姓)的记录

Json使用JavaScript语法

因为Json使用JavaScript语法,所以无需额外的软件就能处理JavaScript中的Json

var employees = [
  {
  "firstName" : "John" , "lastName" : "Doe"
  },
  {
"firstName" : "Anna" , "lastName" : "Smith"
  }
];
  • 访问如下:
employees[0].lastName;
  • 修改如下:
employees[0].lastName = "Jonse";

Json使用

Json经常应用到的场景是:
在后台应用程序中将响应数据封装成Json格式,传到前台之后,需要将Json格式转换为JavaScript对象,然后再网页中使用该数据。

把Json文本转换为JavaScript对象

Json最常见的用法之一,是从web服务器上读取Json数据(作为文件或作为HttpRequest),将Json数据转换为JavaScript对象,然后再网页上使用该数据。

  • 创建包含Json语法的JavaScript字符串
var txt = '{
"employees" : [ ' +
' { "firstName" : "John" ,
"lastName" : "Anna"
},' + 
'{ "firstName" : "Smith" ,
"lastName" : "Peter" 
}
]
}'

由于Json是JavaScript语法的子集,JavaScript函数eval()可用于将Json文本转换为JavaScript对象。
eval()函数使用的是JavaScript编译器,可解析Json文本,然后生成JavaScript对象,必须把文本包围在括号中,这样才能避免语法错误。
var obj = eval (" ( " + txt +" ) ");
在网页中使用JavaScript对象:

firstName :
lastName :

你可能感兴趣的:(Json)