博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript操作JSON的方法总结,JSON字符串转换为JSON对象
阅读量:7077 次
发布时间:2019-06-28

本文共 1633 字,大约阅读时间需要 5 分钟。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不需要任何特殊的 API 或工具包。

官方网站: 

本文主要是对JS操作JSON的方法做下总结。

在JSON中,有两种结构:对象数组。 

1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用引号,数值型则不需要。例如:

var o={"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"};

2. 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

例如:

var jsonranklist=[{"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"},{"xlid":"zd","xldigitid":123456,"topscore":1500,"topplaytime":"2009-11-20"}];

为了方便地处理JSON数据,JSON提供了json.js包,官方下载地址:

(另附:)

在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。

例如:

JSON字符串:

var str1 = '{ "name": "cxh", "sex": "man" }';

JSON对象:

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

 

一、JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

//由JSON字符串转换为JSON对象

var obj = eval('(' + str + ')'); // 这个是最原始的方法,推荐使用!!!

或者

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然后,就可以这样读取:

alert(obj.name);alert(obj.sex);

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

 

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

例如:

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

或者

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

注意:

上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。

 

 

延伸阅读:

转载地址:http://fjcml.baihongyu.com/

你可能感兴趣的文章
数据挖掘10大算法介绍
查看>>
《程序员的修炼——从优秀到卓越》
查看>>
使用.net开发手机管理软件 (十) 短信部分——VB.NET解码PDU
查看>>
sql2005 COM+ 目录要求 (警告)
查看>>
恋恋风尘
查看>>
mongodb - collMod
查看>>
学生如何提高专业英文阅读能力--施一公教授
查看>>
回顾2011,展望2012
查看>>
Android实例RSS客户端开发(3)--rss列表并显示在ui上
查看>>
PCI总线原理(四)
查看>>
unity, 设置帧率上限
查看>>
linux watchdog demo hacking
查看>>
两个函数连续性的讨论
查看>>
从头開始写项目Makefile(五):嵌套运行
查看>>
iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)
查看>>
探索推荐引擎内部的秘密,第 3 部分: 深入推荐引擎相关算法 - 聚类
查看>>
MySQL各版本的性能特性(从4.0版本开始)
查看>>
linux包之bash之内置命令ulimit
查看>>
HBase与Zookeeper数据结构查询
查看>>
QQ等软件可以联网 网页打不开
查看>>