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+="-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
        }
        debug_info += index;
        debug_info += ":&nbsp;&nbsp;";
        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

 

 

posted @ 2012-08-06 10:59  w0w0  阅读(173)  评论(0编辑  收藏  举报