JSON字符串&JSON对象

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语言?JSON 语言如何表示对象?window.JSON 是什么?如何把JSON 格...
    LeeoZz阅读 523评论 0 0
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,245评论 7 35
  • 请移步https://blog.cdswyda.com/post/20161025
    依韵宵音阅读 715评论 0 12
  • 什么是亲情呢?应该就是一边嫌弃一边疼爱吧!今早因为鼓动爸爸去公园健身,深有同感。内心那深深矛盾心理,犹如两口子吵架...
    与姝会友阅读 366评论 0 0
  • 10~11节:“罗得举目看见约旦河的全平原,直到琐珥,都是滋润的,那地在耶和华未灭所多玛、蛾摩拉以先,如同耶和华的...
    既或不然阅读 319评论 0 2