zoukankan      html  css  js  c++  java
  • JavaScript操作JSON总结

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。
    本文主要对JavaScript中的JSON操作做下总结。
    在JSON中,有两种结构:对象和数组。
    1.一个对象以”{“(左大括号)开始,”}”(右大括号)结束。每个”名称”后跟一个”:”(冒号):”‘名称/值’”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。
    e.g #1:

    var o={"name":"qiufeng","age":24,"sex":"boy","website":"fengdingbo.com"};

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

    var jsonArrayList=[
    	{"name":"qiufeng","age":24,"sex":"boy","website":"fengdingbo.com"},
    	{"name":"fengdingbo","age":23,"sex":"boy","website":"www.fengdingbo.com"}
    ];

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

    var str = '{"name":"qiufeng","age":24}';

    e.g #4:JSON对象:

    var jsonObject = {"name":"qiufeng","age":24};

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

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

    // 由JSON字符串转换为JSON对象
    // 加上圆括号的目的是迫使eval函数在处理JavaScript代码时
    // 强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行
    // 使用eva来解析JSON字符串是很危险的,容易将一些置于字符串中的危险代码一并执行,
    var obj = eval("(" + str + ")");

    或者

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

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

    二、可以使用JSON.stringify()将JSON对象转化为JSON字符串。

    e.g #5:

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

    ps:上面的多个要领中,除了eval()函数是js自带的之外,其他的都需要引入json.js包。新版本的JSON修改了API,将JSON.stringify()和JSON.parse()两个要领都注入到了 Javascript 的内建对象里面。

  • 相关阅读:
    使用tornado的gen模块改善程序性能
    分析Linux内核中进程的调度(时间片轮转)-《Linux内核分析》Week2作业
    博客园配置MarsEdit客户端
    分析一个C语言程序生成的汇编代码-《Linux内核分析》Week1作业
    微信支付的开发流程
    探究加法操作的原子性
    mac下mysql数据库的配置
    从range和xrange的性能对比到yield关键字(中)
    使用装饰器时带括号与不带括号的区别
    从range和xrange的性能对比到yield关键字(上)
  • 原文地址:https://www.cnblogs.com/Jerry-blog/p/5010259.html
Copyright © 2011-2022 走看看