About Code@IT·互联网程序员

JSON字符串&JSON对象

2016-09-05  本文已影响653人  Evelyn_Chan

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包。

上一篇下一篇

猜你喜欢

热点阅读