js读取并解析JSON类型数据的方法

 更新时间:2015年11月14日 16:22:21   作者:harver  
这篇文章主要介绍了js读取并解析JSON类型数据的方法,具体分析了json格式的功能、用途与JS解析技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了js读取并解析JSON类型数据的方法。分享给大家供大家参考,具体如下:

一、什么是JSON?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式,同时,JSON是 JavaScript 原生格式。
非常适合于服务器与 JavaScript 的交互

二、为什么使用JSON而不是XML

他们都是这样说的:尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web Services,否则,在普通的 Web 应用中,开发者经常为 XML 的解析伤透了脑筋,无论是服务器端生成或处理 XML,还是客户端用 JavaScript 解析 XML,都常常导致复杂的代码,极低的开发效率。实际上,对于大多数 Web 应用来说,他们根本不需要复杂的 XML 来传输数据,XML 的扩展性很少具有优势,许多 AJAX 应用甚至直接返回 HTML 片段来构建动态 Web 页面。和返回 XML 并解析它相比,返回 HTML 片段大大降低了系统的复杂性,但同时缺少了一定的灵活性

三、如何使用

下面代码是html代码片段,实现点击按钮解析json格式数据并alert内容

复制代码 代码如下:
<input type="button" value="button" onclick="clicks();"/>

下面是js函数代码:

var json = {
  contry:{
  area:{
   man:"12万",
   women:"10万"
  }
  }
 };
//方式一:使用eval解析
 var obj = eval(json);
 alert(obj.constructor);
 alert(obj.contry.area.women);
 //方式二:使用Funtion函数
 var strJSON = "{name:'json name'}";//得到的JSON
 var obj = new Function("return" + strJSON)();//转换后的JSON对象
 alert(obj.name);//json name
 alert(obj.constructor);
//复杂一点的json数组数据的解析
 var value1 = [ 
  {"c01":"1","c02":"2","c03":"3","c04":"4","c05":"5","c06":"6","c07":"7","c08":"8","c09":"9"},
   {"c01":"2","c02":"4","c03":"5","c04":"2","c05":"8","c06":"11","c07":"21","c08":"1","c09":"12"},
  {"c01":"5","c02":"1","c03":"4","c04":"11","c05":"9","c06":"8","c07":"1","c08":"8","c09":"2"}
   ]; 
 var obj1 = eval(value1);
 alert(obj1[0].c01);
 //复杂一点的json的另一种形式
 var value2 = {
   "list":[
   {"password":"1230","username":"coolcooldool"},
   {"password":"thisis2","username":"okokok"}
   ],
   "array":[
   {"password":"1230","username":"coolcooldool"},
   {"password":"thisis2","username":"okokok"}
   ]
   };
 var obj2 = eval(value2);
 alert(obj2.list[0].password);
}

四、eval

① 这种形式将使得性能显著降低,因为它必须运行编译器

② eval函数还减弱了你的应用的安全性,因为它给被求值的文本赋予了太多的权力。就像with语句执行的方式一样,它降低了语言的性能

③ Function构造器是eval的另一种形式,所以它同样也应该被避免使用。

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • PHPExcel中的一些常用方法汇总

    PHPExcel中的一些常用方法汇总

    这篇文章主要介绍了PHPExcel中的一些常用方法汇总,本文直接给出操作代码实例,代码中对常用方法给出了注释,需要的朋友可以参考下
    2015-01-01
  • 浅谈webpack和webpack-cli模块源码分析

    浅谈webpack和webpack-cli模块源码分析

    这篇文章主要介绍了浅谈webpack和webpack-cli模块源码分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • layer.confirm取消按钮绑定事件的方法

    layer.confirm取消按钮绑定事件的方法

    今天小编就为大家分享一篇layer.confirm取消按钮绑定事件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • js实现一款简单踩白块小游戏(曾经很火)

    js实现一款简单踩白块小游戏(曾经很火)

    本文给大家分享原生js实现曾经很火的一款小游戏—别踩白块,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-12-12
  • js中 计算两个日期间的工作日的简单实例

    js中 计算两个日期间的工作日的简单实例

    下面小编就为大家带来一篇js中 计算两个日期间的工作日的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • javascript(jquery)利用函数修改全局变量的代码

    javascript(jquery)利用函数修改全局变量的代码

    现在博客系统的评论遇到一个问题,用户点击“最后一页”链接之后就自动调取最后一页的资料来显示。
    2009-11-11
  • JS插件amCharts实现绘制柱形图默认显示数值功能示例

    JS插件amCharts实现绘制柱形图默认显示数值功能示例

    这篇文章主要介绍了JS插件amCharts实现绘制柱形图默认显示数值功能,结合实例形式分析了amCharts插件绘制柱形图并显示数值的相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • 微信小程序嵌入H5页面(web-view)的方法详解

    微信小程序嵌入H5页面(web-view)的方法详解

    使用<web-view>标签能在小程序中打开外部网页,但是要打开的网页的域名必须跟小程序的业务域名(业务域名可以在小程序的后台管理界面添加)一致,否则在真机上是打不开的,下面这篇文章主要给大家介绍了关于微信小程序嵌入H5页面(web-view)的相关资料,需要的朋友可以参考下
    2022-09-09
  • JS去除右边逗号的简单方法

    JS去除右边逗号的简单方法

    这篇文章介绍了JS去除右边逗号的简单方法,有需要的朋友可以参考一下
    2013-07-07
  • js实现复选框的全选和取消全选效果

    js实现复选框的全选和取消全选效果

    在很多网站都有这样的功能,当点击一个全选按钮之后,所有的复选框都会被选中,再点击之后会取消全选,功能非常的人性化,可以省却很多人力,本文将简单介绍一下JS如何实现此功能
    2017-01-01

最新评论