第一种方式:

使用js函数eval();

testJson=eval(testJson);是错误的转换方式。

正确的转换方式需要加(): testJson = eval("(" + testJson + ")");

eval()的速度非常快,但是他可以编译以及执行任何javaScript程序,所以会存在安全问题。在使用eval()。来源必须是值得信赖的。需要使用更安全的json解析器。在服务器不严格的编码在json或者如果不严格验证的输入,就有可能提供无效的json或者载有危险的脚本,在eval()中执行脚本,释放恶意代码。

js代码:

  1. function ConvertToJsonForJs() {
  2. //var testJson = "{ name: '小强', age: 16 }";(支持)
  3. //var testJson = "{ 'name': '小强', 'age': 16 }";(支持)
  4. var testJson = '{ "name": "小强", "age": 16 }';
  5. //testJson=eval(testJson);//错误的转换方式
  6. testJson = eval("(" + testJson + ")");
  7. alert(testJson.name);
  8. }

第二种方式使用jquery.parseJSON()方法对json的格式要求比较高,必须符合json格式

jquery.parseJSON()

js:代码

  1. function ConvertToJsonForJq() {
  2. var testJson = '{ "name": "小强", "age": 16 }';
  3. //不知道
  4. //'{ name: "小强", age: 16 }' (name 没有使用双引号包裹)
  5. //"{ 'name': "小强", 'age': 16 }"(name使用单引号)
  6. testJson = $.parseJSON(testJson);
  7. alert(testJson.name);
  8. }

===========================================================================================

第一种:使用for循环

js代码:

  1. function CyclingJson1() {
  2. var testJson = '[{ "name": "小强", "age": 16 },{"name":"小明","age":17}]';
  3. testJson = eval("(" + testJson + ")");
  4. for (var i = 0; i < testJson.length; i++) {
  5. alert(testJson[i].name);
  6. }
  7. }

第二种:使用关键字in

js代码:

  1. function CyclingJson2() {
  2. var testJson = '[{ "name": "小强", "age": 16 },{"name":"小明","age":17}]';
  3. testJson = eval("(" + testJson + ")");
  4. for (var i in testJson) {
  5. alert(testJson[i].name);
  6. }
  7. }

第三种;使用jquery.each()函数

  1. function CyclingJson3() {
  2. var testJson = '[{ "name": "小强", "age": 16 },{"name":"小明","age":17}]';
  3. testJson = eval("(" + testJson + ")");
  4. $.each(testJson, function (i, n) {
  5. alert(i); //i为索引值
  6. alert(n.name); //n为遍历的值
  7. });
  8. }

JSON格式数据的js操作的更多相关文章

  1. 使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据

     目录 前言 1 Get方式和Post方式接口说明 2 OkHttp库简单介绍及环境配置 3 具体实现 前言 本文具体实现思路和大部分代码参考自<第一行代码>第2版,作者:郭霖:但是文中讲 ...

  2. JS学习笔记(3)--json格式数据的添加,删除及排序方法

    这篇文章主要介绍了json格式数据的添加,删除及排序方法,结合实例形式分析了针对一维数组与二维数组的json格式数据进行增加.删除与排序的实现技巧,需要的朋友可以参考下   本文实例讲述了json格式 ...

  3. .NET的JSON格式数据的三种转换方式

    说明: 1..Net进行JSON格式的数据传递的时候,势必用到序列化和反序列化对象,总共有三种方式可是在.NET中实现序列化和反序列化的需求. 2.操作JSON的速度是:Json.net > M ...

  4. 使用C#中JavaScriptSerializer类将对象转换为Json格式数据

    将对象转换为json格式字符串: private JavaScriptSerializer serializer = new JavaScriptSerializer(); protected voi ...

  5. 使用getJSON()方法异步加载JSON格式数据

    使用getJSON()方法异步加载JSON格式数据 使用getJSON()方法可以通过Ajax异步请求的方式,获取服务器中的数组,并对获取的数据进行解析,显示在页面中,它的调用格式为: jQuery. ...

  6. jQuery获取JSON格式数据方法

    getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ ...

  7. ajax接收遍历处理json格式数据

    ajax在前后端的交互中应用非常广泛,通过请求后台接口接收处理json格式数据展现在前端页面. 下面我们来简单用 ajax在本地做一个接收并处理json的小例子 首先我们要新建一个叫做data的jso ...

  8. Android读取JSON格式数据

    Android读取JSON格式数据 1. 何为JSON? JSON,全称为JavaScript Object Notation,意为JavaScript对象表示法. JSON 是轻量级的文本数据交换格 ...

  9. 使用Javascript/jQuery将javascript对象转换为json格式数据 - 海涛的CSDN博客 - 博客频道 - CSDN.NET

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

随机推荐

  1. multi-tap

    multi-tap又称 multi-press . 是在手机,或者电视遥控上的keypad定义,有如下2类标准: 1. ITU-T E.161 2.T9 使用举例如下: Consider a typi ...

  2. Android—基于OpenCV+Android实现人脸检测

    导读 OpenCV 是一个开源的跨平台计算机视觉库, 采C++语言编写,实现了图像处理和计算机视觉方面的很多通用算法,同时也提供对Python,Java,Android等的支持,这里利用Android ...

  3. 怎么获取textarea中选中文字

    textarea设置select="saveSelectionText()" //保存选中内容 saveSelectionText: function () { var focus ...

  4. user32的使用

    通过代码查询特定的窗口,并在文本框中输入文字然后单击"OK"按钮 需要查找的Dialog 使用Spy++查看窗口信息 通过代码实现功能 class Program { //defi ...

  5. BZOJ2729 [HNOI2012]排队 【高精 + 组合数学】

    题目链接 BZOJ2729 题解 高考数学题... 我们先把老师看做男生,女生插空站 如果两个老师相邻,我们把他们看做一个男生,女生插空站 对于\(n\)个男生\(m\)个女生的方案数: \[n!m! ...

  6. 洛谷 P3477 [POI2008]PER-Permutation 解题报告

    P3477 [POI2008]PER-Permutation 题目描述 Multiset is a mathematical object similar to a set, but each mem ...

  7. c++编辑器下载地址

    https://msdn.itellyou.cn/ 输入上述地址选中下图所示的按钮:

  8. Active Directory Domain Services in Windows Server 2016/2012

    Applies To: Windows Server 2016, Windows Server 2012 R2, Windows Server 2012 You will find links to ...

  9. Android推送使用--文章集锦

    Android之基于百度云推送IM Android实现推送方式解决方案 Android消息推送(一)--AndroidPn(XMPP协议)Demo版到正式上线 采用XMPP协议实现Android推送 ...

  10. Visual Studio Code 配置C/C++环境

    0. 前言 VS Code 是微软发布一款跨平台的源代码编辑器,其拥有强大的功能和丰富的扩展,使之能适合编写许多语言. 本文面向初学者(但不是纯小白),分享一点我配置C/C++的经验. 本文所有内容均 ...