javascript和json
json的使用
JavaScript 对象表示法(JavaScript Object Notation)
一种存储和交换文本信息的语法,独立于语言
JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。
json特性类似 XML:
JSON 是纯文本
JSON 具有“自我描述性”(人类可读)
JSON 具有层级结构(值中存在值)
JSON 可通过 JavaScript 进行解析
JSON 数据可使用 AJAX 进行传输
JSON 语法是 JavaScript 对象表示法语法的子集:
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
JSON 对象在花括号中书写
对象可以包含多个名称/值对
JSON 数组在方括号中书写
数组可包含多个对象
数组中的内容可以用关联数组的方式读取:array[key] = value;
也可以用下标的方式读取
JSON 文件
JSON 文件的文件类型是 ".json"
JSON 文本的 MIME 类型是 "application/json"
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" + txt + ")");
一种快速遍历json数据中所有内容的方式:
function get_debuginfo(jdebug, count) { for(var index in jdebug) //遍历每一个子项 { for(var i = 0; i<=count; i++) //增加缩进 { debug_info+="- "; } debug_info += index; debug_info += ": "; if(typeof(jdebug[index])=="object") { debug_info += "<br>"; get_debuginfo(jdebug[index], count+1);//如果是否是对象,如果是就递归 } else //记录值 { debug_info += jdebug[index]; debug_info += "<br>"; } } count++; return debug_info; }
参考:http://www.w3school.com.cn/json/index.asp