JSON - 入门

来源:互联网 发布:淘宝网络推广公司排名 编辑:程序博客网 时间:2024/05/21 17:28

【1】什么是JSON

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言
  • JSON 具有自我描述性,更易理解
  • JSON 文件的文件类型是 “.json”
  • JSON 文本的 MIME 类型是 “application/json”

  • JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。

【2】JSON实例

var JSONObject={"employees": [{ "firstName":"Bill" , "lastName":"Gates" },{ "firstName":"George" , "lastName":"Bush" },{ "firstName":"Thomas" , "lastName":"Carter" }]}//创建JSON对象,键为employees,值为含有三个JSON对象的对象数组;
var employees = [{ "firstName":"Bill" , "lastName":"Gates" },{ "firstName":"George" , "lastName":"Bush" },{ "firstName":"Thomas" , "lastName": "Carter" }];//创建对象数组,即数组对象,并不是JSON对象;但该对象数组是由三个JSON对象组成。//可以像这样访问对象数组中的第一项:employees[1].firstName//返回的值是:George//可以像这样修改数据:employees[1].firstName = "Jobs";

【3】JSON对象转JavaScript对象

    • eval( )函数;

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

var JSONObject = '{ "employees" : [' +'{ "firstName":"Bill" , "lastName":"Gates" },' +'{ "firstName":"George" , "lastName":"Bush" },' +'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';

转JS对象:

var obj = eval("(+JSONObject+)");
    • JSON.parse( ):

eval() 函数可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题。
使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。
在浏览器中,这提供了原生的 JSON 支持,而且 JSON 解析器的速度更快

var obj = JSON.parse(JSONObject);
0 0