`

Json字符串转成js对象和数组

 
阅读更多

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包,下载地址:http://www.json.org/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);

分享到:
评论

相关推荐

    jquery.json2.4.js

    可序列化 JavaScript 对象、数值、字符串和数组到 JSON 字符串,同时可转换 JSON 字符串到 JavaScript。 var thing = {plugin: 'jquery-json', version: 2.3};//js对象 var encoded = $.toJSON( thing ); //转换...

    json相关jar包.zip

    在前端和后端进行数据传输的时候这种格式也是很受欢迎的,后端返回json格式的字符串,前台使用js中的JSON.parse()方法把JSON字符串解析为json对象,然后进行遍历,供前端使用。 下面进入正题,介绍在JAVA中JSON和...

    json表达式所用到的包

    json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构  1、对象:对象在js中表示为“{}”扩起来的内容,数据结构为 {key:value,key:value,...}...

    js解析与序列化json数据(一)json.stringify()的基本用法

    在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript。例如: 新建一个HTML:代码如下: 代码如下: <html> <head> <title></title&gt...

    浅谈JS中json数据的处理

    1、 json数据结构(对象和数组) json对象:var obj = {“name”:”xiao”,”age”:12};...所以json字符串与JS对象之间的转换是关键; 4、数据格式 Json字符串:var json_str = ‘{“name”:”xiao”,”age”:12}’; J

    jsonon:JSON在线视图

    折叠并展开对象和数组值。 折叠全部并全部展开。 标识<a>...链接标签。 将当前的json数据保存到本地。 所有已保存的json列表均会查看并将数据填充到当前视图并将其删除。 在主题之间切换 分享到其他在线 开发...

    3分钟掌握常用的JS操作JSON方法总结

    工作中做了几款自动化测试工具都是跟日志读取相关,日志格式又大多数都是JSON,所以这里把常用的JS操作JSON的方法做了总结~~ 一、概要简介 JSON(JavaScript Object Notation) 是一种轻量...二、JSON对象和JSON字符串的

    yaml2json:将 YAML 转换为 JSON。 支持 YAML frontmatter、YAML multidocs 和其他混合文本和 yaml 文档。 可以处理 Textile、Markdown 和 AsciiDoc 字符串。 适用于命令行和 node.js

    用于文本文档的 YAML 解析器 不乏 YAML 解析器和 YAML 到 ...文本检测常规的 YAML 解析器将尝试将人类所能解析的几乎所有内容解析为对象和数组。 例如,以“即:示例”开头的文本文档。 将被解释为 a That is to say ke

    Asp操作json全部功能源码和文档

    'asp recrodset和数组转json字符 arrTemp=array("a","{""oa"":""我是oa""}","c") strJsonData=ovbjson.toJson(empty,arrTemp,true) '转换为Json格式的字符串,有兴趣可以自己输出看看是什么 set j=json.parse(str...

    json必知必会

    json必知必会pdf格式完整版,掌握JSON中的对象、字符串、数字和数组等数据类型 探讨如何解决常见的安全问题 学习使用JSON模式来验证数据格式是否正确 审视浏览器、Web API和JSON之间的关系 理解服务端如何请求和...

    iOS中json解析出现的null,nil,NSNumber的解决办法

    json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构 1、对象:对象在js中表示为“{}”扩起来的内容,数据结构为 {key:value,key:value,…}的...

    javascript解析json格式的数据方法详解

    在json中,有两种结构:对象和数组。 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符...

    javascript操作JSON的要领总结

    在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是...

    深入浅析Android JSON解析

    JSON中有且只有两种结构:对象和数组。 1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很...

    22-ajax-源代码.rar

    案例2-站内查询。 一、Ajax概述 二、js原生的Ajax技术(了解) 三、Json数据格式(重要...注意:json的key是字符串 jaon的value是Object json的解析: json是js的原生内容,也就意味着js可以直接取出json对象中的数据

    sdb:基于简单和快速字符串的键值数据库,支持数组和json

    sdb是基于djb的cdb磁盘存储的简单字符串键/值数据库,并支持JSON和数组自省。 mcsdbd是具有基于sdb的磁盘存储的内存缓存服务器。 它以独立的二进制文件和库的形式分发。 还有sdbtypes:一个vala库,它在sdb或...

    set.js:JavaScript的Set实现

    但是,鉴于对象和数组现在已被JSON化,因此现在可以根据它们的JSON输出来比较这些对象。 要使两个对象唯一,请为它们的toJSON方法提供不同的输出。 在将来的版本中,此模块将使用javascript Set作为数据结构,因此...

    JS操作JSON要领详细总结

    在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是...

    javascript中clone对象详解

     JavaScript中,简单的方法就是用JSON函数,将对象stringify成字符串,再parse成一个新对象。要么就是从网上搜个代码,开源社区里面clone的代码还是有不少的。  代码虽然可以找得到,但,东西永远是别人的,动手学...

    JavaScript实战

    3.3.2 循环和数组 60 3.3.3 for循环 61 3.3.4 do/while循环 63 3.4 函数:把有用的代码转换为可复用的命令 64 3.4.1 小教程 66 3.4.2 给函数提供信息 67 3.4.3 从函数获取信息 69 3.4.4 防止变量冲突 70 3.5 教程:...

Global site tag (gtag.js) - Google Analytics