json的基本概念与使用
开发工具与关键技术:MyEclipse 10/Java
作者:cxxone
撰写时间:2019年08月04日
1、 基本概念:
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
JSON 是轻量级的文本数据交换格式
JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
把json文本转换为JavaScript对象是json最常见的用法之一
2、 语法规则(必须是英文状态下的符号)
数据在名称/值对中(键值对)
数据由逗号分割
大括号保存对象
中括号保存数组
3、 Json与xml的异同点
相同点:
- 都是纯文本
- 具有“自我描述性”(都是可读的)
- 具有层级结构(值中存在值)
- 都可以通过JavaScript进行解析
- 数据都可以使用ajax进行传输
不同点
- 没有结束标签
- 比xml更短
- 读写速度更快
- 可以使用数组
4、 用法与格式
Json基本格式
{ “data”: [ { “name”:“小明” , “age”:“10” }, { “name”:“小红” , “age”:“11” }] }
JSON 解析器
由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象
用法:
1、 获取JSON 文本数据
var txt = ‘{ “sites” : [’ +
‘{ “name”:“妲己” , “等级”:“15” ,“攻”:“1300”},’ +
‘{ “name”:“赵云” , “等级”:“14”,“攻”:“760” },’ +
‘{ “name”:“后羿” , “等级”:“15”,“攻”:“860” } ]}’;
2、 先将json通过eval()函数解析成JavaScript对象
var obj = eval("(" + txt + “)”);
for (var i = 0; i < obj.sites.length; i++) {
var li = document.createElement(“li”);
3、通过数组名称获取数组中指定的数据
var i2 = document.createTextNode("" + obj.sites[i].name + " " + obj.sites[i].等级 + " " + obj.sites[i].攻 + “”);//创建文本节点
li.appendChild(i2);//把创建好的文本节点添加到里面i标签
document.getElementById(“ul1”).appendChild(li)
}