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

在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

3.复杂格式:数组格式和对象格式的结合。
  例如:
  var str3 = [{ "name": "cxh", "sex": "man" },{ "name": "zzl", "sex": "woman" },{ "name": "bobo", "sex": "woman" }];
  数组中嵌套多个对象。

在数据传输流程中,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();
    或者
    var obj = JSON.parse(str);
    然后,就可以这样读取:
    Alert(obj.name);
    Alert(obj.sex);

    通过遍历获取json串中的key值:
    for (var key in str2) {
      console.log(key)
    }

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

  二、将JSON对象转化为JSON字符串。
    可以运用 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包版本太低。

转载于:https://www.cnblogs.com/tongxuping/p/7204679.html

JS操作JSON总结相关推荐

  1. JSON基础 JS操作JSON总结

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  2. JS操作JSON数据交换

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 采用完全独立于语言的文本格式,易于人阅读和编写.同时也易于机器解析和生成. JSON采用完全独立于语言的 ...

  3. js操作json数据的一些感受

    最近在搞 json 数据传输,直接用的 javascript 对数据进行操作.json数据为: var json ={ "global":"200", &quo ...

  4. Node.js操作Json格式文件

    json格式文件也是很常用的数据存储传输格式.本篇将介绍Node.js如何添加.修改和解析Json格式数据. /*** Json文件操作:添加.修改.删除以及读取*/ const fs = requi ...

  5. js 操作json对象增删改

    //将表单序列化成字符串$.fn.serializeObject = function () {var obj = {};var count = 0;$.each(this.serializeArra ...

  6. js操作json方法总结

    相对于前端的老铁来说JSon并不陌生,JSON JavaScript Object Notation 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是一种理想的数据交换格式. json可以 ...

  7. js之操作JSON数据

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  8. JS对JSON的操作总结

    对于前端完全是菜鸟,迫于无奈,工作中要用到JS,尤其对JSON的处理为多,网上搜了一下,所讲的基本雷同.所以把平时用的比较多的JSON处理方法总结了一下,权当加深记忆. 一.概述 JSON(JavaS ...

  9. [转]JS对JSON的操作总结

    本文转自:http://www.cnblogs.com/csj222/archive/2013/04/11/3013667.html 对于前端完全是菜鸟,迫于无奈,工作中要用到JS,尤其对JSON的处 ...

最新文章

  1. LaTeX中警告类型及说明
  2. nginx配置设置,使部分页面访问跳转到404页面
  3. 如何取消 登录_LSAT | 退考、缺考、取消成绩,各自的区别和流程是怎样的?
  4. 字段与属性 c# 1613532992
  5. 持有对象---Arrays.asList()和Collections.addAll()的性能比较
  6. 单链表的插入操作的实现(0952)SUWST-OJ
  7. bitcoin-memorypool源码分析
  8. ~~试除法分解质因数(附模板题)
  9. Redis入门到高可用(十一)—— 慢查询
  10. Python+OpenCV 设计GUI图像处理
  11. 现实竞争激烈,学透才能在职场做个风云人物,单片机存储器篇
  12. Java基础编程机试题
  13. VB2010(18)_各种对话框的使用
  14. 小学生 计算机编程 教程,小学生C++创意编程(视频教学版)
  15. 时间的几种格式以及它们之间的相互转换 (js)
  16. 图解域名解析DNS过程
  17. 值得学习17个C/C++ 超经典开源项目,面试加分
  18. 江西省省赛中职网络安全-Windows操作系统渗透测试
  19. 基于微信小程序的货物管理系统的设计与实现-计算机毕业设计源码+LW文档
  20. 搜狗输入法中文状态下,打出来还是英文按住键盘Ctrl+shift+E就可以了

热门文章

  1. 用VS2005打开一个.NET2.0方案,里面有几个工程和一个网站,提示网站的项目.csproj文件无法打开:“此安装不支持该项目类型”,的解决办法。...
  2. linux c语言工具,Linux下C语言编程环境的工具.doc
  3. 7.1 pdo 宝塔面板php_宝塔面板配置阿里云服务器步骤和教程
  4. python中的运算符举例_举例讲解Python中的算数运算符的用法
  5. python 词云_python数据可视化——词云
  6. Python爱好者,这里有一个库可以帮助你作为新手掌握人工智能!
  7. 教你如何查看 Git 提交中发生了什么变化
  8. 是什么轮胎_为什么现在的车轮胎轮毂尺寸越来越大
  9. java excel导出 jxl_java使用JXL导出Excel及合并单元格
  10. 【Java】排序算法之 冒泡排序