Json

简介: 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对象:

<p>
  firstName : <span id = "fname"></span><br />
lastName : <span id = "lname"></span><br />
</p>
<script>
document.getElementById("fname").innerHTML = obj.employees[1].firstName
document.getElementById("lname").innerHTML = obj.employees[1].lastName
</script>
相关文章
N..
|
1月前
|
存储 JSON 前端开发
JSON
JSON
N..
16 1
|
1月前
|
存储 JSON JavaScript
JSON应用
JSON应用
28 4
|
8月前
|
JSON Java 数据格式
处理json 和HttpMessageConverterT
处理json 和HttpMessageConverterT
52 0
|
10月前
|
数据格式 JSON JavaScript
JSON是什么?
JSON 全称“JavaScript Object Notation”,译为“JavaScript 对象简谱”或“JavaScript 对象表示法”,是一种轻量级的、基于文本的、开放的数据交换格式。JSON 在 Web 开发领域有着举足轻重的地位,如果您想在 Web 开发领域大展身手的话,就必须了解 JSON。
|
存储 JSON JavaScript
JSON介绍
JSON介绍
171 0
|
XML Web App开发 JSON
JSON 简单了解
JSON 简单了解
180 0
JSON 简单了解
|
XML 存储 Web App开发
|
存储 JSON JavaScript
JSON 是什么
JSON 是什么
139 0
|
存储 JSON JavaScript
json是什么,看了之后我才恍然大悟(一)
十、JSON 前言 1.Controller返回json数据 2.上面的乱码问题
json是什么,看了之后我才恍然大悟(一)
|
XML JSON JavaScript
JSon 使用 之怪现象[已解决]
最近 学extjs 结合 json 时候 遇到一个 非常困扰的问题
163 0
JSon 使用 之怪现象[已解决]