JSON字符串&JSON对象

作者: Evelyn_Chan | 来源:发表于2016-09-05 19:59 被阅读653次

    JSON,全称JavaScript对象表示法(JavaScript Object Notation)。笔者在学习时接触到JSON常用的两种格式(JSON字符串&JSON对象),查阅了多份资料才理清了两者的区别与联系,以下是自己的归纳。

    一、区别与联系

    在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,在JS操作之前需要将其转换为JSON对象。

    1. JSON字符串

    JSON字符串,顾名思义数据类型是字符串,不能直接读取JSON的键值对。如:

    ‘{“name”:“evelyn”,"country":“China”}’

    2. JSON对象

    JSON (JavaScript Object Notation) is an open-standard format that uses human-readable text to transmit data objects consisting of attribute–value pairs. It is the most common data format used for asynchronous browser/server communication (AJAJ), largely replacing XML which is used by AJAX.(from https://en.wikipedia.org/wiki/JSON),如:

    {“name”:“evelyn”,"country":“China”}

    从形式上可以看到,JSON对象加上引号便是JSON字符串。

    二、两者之间的转换

    1. "JSON字符串"转化为"JSON对象"

    要运用下面的sJson(JSON字符串),必须运用下面的要领先转化为JSON对象(这一点在ajax返回JSON数据时经常使用)。将"JSON字符串"转化为"JSON对象"的三种方法:

    (1) JSON.parse( ). 示例如下:

    运行结果如下:

    从运行结果可以知道,经过方法JSON.parse( ),字符串转换成JSON对象。

    (2)jQuery.parseJSON( ),示例如下:

    var oJson=jQuery.parseJSON(sJson);

    运行结果与上面例子一样。

    (3) eval( ),示例如下:

    var oJson=eval( '('+sJson+')' );

    运行结果与上面例子一样。

    2. "JSON对象"转化为"JSON字符串"

    将"JSON对象"转化为"JSON字符串"的两种方法:

    (1)JSON.stringify(),示例如下

    运行结果如下:

    从运行结果可以知道,经过方法

    JSON.stringify( )

    ,JSON对象转换成字符串。


    (2)toJSONString( ),示例如下

    var sJson=oJson.toJSONString( );

    运行结果与上一例子相同。

    三、说明

    上面的多个要领中,除了eval()函数是js自带的和jQuery.parseJSON( )之外,其他的多个要领都来自json.js包。

    相关文章

      网友评论

      本文标题:JSON字符串&JSON对象

      本文链接:https://www.haomeiwen.com/subject/uavrettx.html