jQuery基础总结–JSON(十)

  • A+
所属分类:jQuery 前端

继续接上篇jQuery基础总结–jQuery插件下(九)

JSON

1、JSON(JavaScript Object Natation),它是一种轻量级、基于文本、语言无关的数据交换格式,类似于XML,是一种结构化数据串行化的文本格式,常常用于服务器与JavaScript之间的数据交换上。

2、JSON是从ECMAScript语言标准衍生而来的,定义了一套简单的格式化规则,JSON可以描述四种简单的类型,包括字符串、数字、布尔值及和null;还可以描述两种结构化类型,包括对象和数组。

3、当然,更多JSON具体的语法不是这里关注的重点,有需要的请参见http://json.org/,在那里可以获取更多的JSON的知识。

JSON字符串转换为JSON对象

eval函数

eval函数可以直接将本质符合或者近似符合JSON格式的字符串转换为JSON对象,使用方式如:eval('(' + str + ')'); //其中str就是满足本标题描述的字符串

parseJSON函数

另一种将标准字符串转换为JSON对象的函数是parseJSON(),使用方式如

jQuery.parseJSON(str)//其中str就是满足本标题描述的字符串

JSON.parse函数

还有一种将标准字符串转换为JSON对象的函数是JSON.parse(),使用方式如JSON.parse(str)//其中str就是满足本标题描述的字符串

var str = '{ "name": "mady", "age": "24" }';

var obj = JSON.parse(str);

alert(obj.name);

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

JSON对象转换为字符串

可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

或者

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

alert(last);

解析JSON

var str2 = { "name": "mady", "sex": "man" };

就可以这样读取:

alert(str2.name);//和C#、Java一样直接解析…

 

我们遇到的JSON很少有这么简单的,比如复杂一点的JSON对象如:

var str={"GetUserPostByIdResult":{"Age":"33","ID":"2server","Name":"mady"}};

解析用:

alert(str.GetUserPostByIdResult.Name);//一次解析不出来,我多解析几次

 

更复杂一点的如:

var data="{ root: [ {'name':'6200','value':'0'}, {'name':'6101','value':'xa'},

{'name':'6102','value':'beijing'}, {'name':'6103','value':'haerbin'}]}";

如果你想单个解析的话,用:alert(data.root[0].name);

你想全部解析的话,用:

  1. $.each(data.root, function(index, item) {
  2.       $("#info").append("<div>" +index+":"+ item.name + "</div>" +
  3.       "<div>" +index+":"+ item.value + "</div><hr/>");
  4. });

其中这个“#info”是个DIV的ID

jQuery基础总结也就将完了,如果你对文章有什么建议和问题请留言,谢谢!!如果你有什么问题也可以向我请教。

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

目前评论:8   其中:访客  7   博主  1

    • avatar 电影天堂迅雷下载 3

      很好的文章
      收藏了

      • avatar 惜梦网赚论坛 1

        写的挺好。

        • avatar 米粒博客 4

          全是jQuery;怎么互访签到

          • avatar 泰动听电台 0

            我到各大博客都能看到你的身影。

            • avatar 好文推荐 4

              就来看看、不怎么说话的~~·

              • avatar 何湘辉博客 2

                比较实用,之前也搜过类似的问题。

                • avatar 米粒博客 4

                  我也动手操作一下