第一种方式:

使用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. Augmenting Path Algorithm : 一般图最大匹配

    算法原理详见 http://www.csie.ntnu.edu.tw/~u91029/Matching.html orz 带花树很神奇,挖坑最大权匹配 #include <iostream> ...

  2. 【转】IBatis.Net项目数据库SqlServer迁移至Oracle

    转自:http://www.2cto.com/database/201312/265514.html 最近完成了一个(IBatis.Net+MVC)项目的数据库+代码迁移工作,可把我折腾得~~~ IB ...

  3. CF869E The Untended Antiquity 解题报告

    CF869E The Untended Antiquity 题目描述 \(\text{Adieu l'ami}\). Koyomi is helping Oshino, an acquaintance ...

  4. ubuntu使用su切换root用户提示“认证失败”

    在虚拟机上安装了ubuntu,安装时提示设置密码,也设置了,但是在终端操作时,遇到权限不够的问题,于是就想到就是要切换root用户,获取最高权限. 当我使用 su 切换到root用户时,提示我输入密码 ...

  5. [poj 3693]后缀数组+出现次数最多的重复子串

    题目链接:http://poj.org/problem?id=3693 枚举长度L,看长度为L的子串最多能重复出现几次,首先,能出现1次是肯定的,然后看是否能出现两次及以上.由抽屉原理,这个子串出现次 ...

  6. CRM系统主要业务流程思维导图

    [CRM五策略]           ❶对客户进行分类,不是根据规模,而是根据和你的关系,越细腻越好:           ❷不定期更新客户资料,信息越全面越好:           ❸主动对客户进行 ...

  7. vue.单选和多选,纯css自定义单选框样式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Navicat Premium mysql

    #Sql语句 创建一表格 ),name ),age ),sex )); #添加语句 ,,'男'); ,,'男'); #删除 delete from user3;#user3中所有数据全删 delete ...

  9. HDU2546饭卡---(DP 经典背包)

    http://acm.hdu.edu.cn/showproblem.php?pid=2546 饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory L ...

  10. abstract 与interface区别

    1.abstract用于修饰类,interface用于修饰接口 2.抽象类中可以有抽象和非抽象方法,接口中只能定义抽象方法,不能有实现 3.抽象类必须被继承,interface被实现 4.抽象类有构造 ...