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 += ""; get_debuginfo(jdebug[index], count+1);//如果是否是对象,如果是就递归 } else //记录值 { debug_info += jdebug[index]; debug_info += ""; } } count++; return debug_info;}
参考: