<!DOCTYPE html>
<html>
<body>
<p>JSON</p>
<script>
// JSON 值可以是:数字,字符串,逻辑值,数组,对象,null
var personalInfoList = [
{"id":1, "name":"Harry", "age":22, "gender":null, "married":false, "advantage":["C", "C#", "C++"]},
{"id":2, "name":"Frank", "age":26, "gender":null, "married":true, "advantage":["Java", "JavaScript", "Python"]}
];
// 可以如下访问JSON
console.log(personalInfoList[1].name);
console.log(personalInfoList[1]["age"]);
// 循环访问元素
for(i in personalInfoList) {
for(j in personalInfoList[i].advantage) {
console.log(personalInfoList[i].advantage[j]);
}
} // JSON通常用于与服务端交换数据/在接收服务器数据时一般是字符串
// 可以使用JSON.parse()方法将数据转换为JavaScript对象
var personalInfoListStr = '[ {"id":1, "name":"Harry", "age":22, "gender":null, "married":false, "advantage":["C", "C#", "C++"]},\
{"id":2, "name":"Frank", "age":26, "gender":null, "married":true, "advantage":["Java", "JavaScript", "Python"]} ]';
// 转换成一个有效的JSON字符串
var personalInfoList1 = JSON.parse(personalInfoListStr);
console.log(personalInfoList1[1].name);
console.log(personalInfoList1[1].age);
// 可以加一个转换结果的函数, 将为对象的每个成员调用此函数
var personalInfoList2 = JSON.parse(personalInfoListStr, function(key, value) {
if(key == "age") {
return value + 1;
} else {
return value;
}
});
console.log(personalInfoList2[0].age);
console.log(personalInfoList2[1].age); // JSON 通常用于与服务端交换数据/在向服务器发送数据时一般是字符串
// 可以使用 JSON.stringify()方法将JavaScript对象转换为字符串
// [注意!]不得包含Data对象和函数对象
var personalInfoList3 = JSON.stringify(personalInfoList);
console.log(personalInfoList3);
// 带有转换结果和文本缩进
var personalInfoList4 = JSON.stringify(personalInfoList, function(key, value) {
if(key == "age") {
return value - 1;
} else {
return value;
}
}, 2);
console.log(personalInfoList4); // eval()函数也可以解析 JSON 文本,然后生成JavaScript对象
var personalInfoList5 = eval(personalInfoListStr);
console.log(personalInfoList5[1].name);
console.log(personalInfoList5[1].age);
// eval()函数同时可以编译执行任何JavaScript代码, 会有潜在安全问题,所以,还是最好使用JSON.parse
var demo = 'console.log("lalala~");';
eval(demo);
</script>
</body>
</html>

JavaScript(3):JSON的更多相关文章

  1. javaScript系列:JSON详解

    JSON详解   JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交 ...

  2. javascript编程: JSON, Mapping, 回调

    使用 Javascript  编程, 组合使用 JSON 数据格式,Mapping 和回调技术, 可以产生很强的表达效果. 在实际工作中, 总会有数据汇总的需求. 比如说, 取得了多个 device ...

  3. JavaScript 笔记(3) -- JSON

    JavaScript JSON (JavaScript Object Notation): 是一种轻量级的数据交换格式 JSON 是用于存储和传输数据的格式 JSON 通常用于服务端向网页传递数据 J ...

  4. Javascript:JSON总结

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于ECMAScript的一个子集,采用完全独立于语言的文本格式.这些特性使JSON成为理想的数据交换 ...

  5. 在JavaScript中使用json.js:访问JSON编码的某个值

    演示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  6. Javascript学习之:JSON

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于ECMAScript的一个子集,采用完全独立于语言的文本格式.这些特性使JSON成为理想的数据交换 ...

  7. ZH奶酪:JavaScript中的JSON.stringify() and JSON.parse()

    JSON.stringify() JSON.stringify()可以将任意的JavaScript值序列化成JSON字符串. 语法 JSON.stringify(value[, replacer [, ...

  8. javascript:json对象和json字符串的相互转换

    json对象和字符串的相互转换 //使用json中的parser方法转换: var str='{"name":"fendouer", "age&quo ...

  9. JavaScript:JSON 和 JS 对象

    区别 JSON(JavaScript Object Notation)仅仅是一种数据格式(或者叫数据形式).数据格式其实就是一种规范,按照这种规范来存诸和交换数据.就好像 XML 格式一样. 区别 J ...

随机推荐

  1. Java语言基础(12)

    1 构造方法重载 在一个类内部,编写多个构造方法,创建对象的时候,根据需求的不同,调用不同的构造方法创建对象,实现不同的初始化. 案例:Demo1 public class Demo1 { publi ...

  2. 在RecyclerView中集成QQ汽泡二

    上次已经将GooView集成到RecyclerView当中了[http://www.cnblogs.com/webor2006/p/7787511.html],但是目前还有很多问题,下面先来运行看一下 ...

  3. git撤销pull命令

    1.运行git reflog命令查看你的历史变更记录 2.然后用git reset --hard HEAD@{n},(n是你要回退到的引用位置)回退. 比如上图可运行 git reset --hard ...

  4. HADOOP HA 报错 - 所有 namenode 都是standby --集群报错: Operation category READ is not supported in state standby

    报错: 经过查看集群的jps如下: ==================== hadoop01 jps =================== FsShell ResourceManager Name ...

  5. 查看hive的信息

    一.Hive下查看数据表信息的方法方法1:查看表的字段信息desc table_name; 方法2:查看表的字段信息及元数据存储路径desc extended table_name; 方法3:查看表的 ...

  6. 解决telnet: connect to address 127.0.0.1: Connection refused的错误信息问题

    1.检查telnet是否已安装: rpm -qa telnet 2.有输出说明已安装,如果没有输出则没有安装,使用yum install telnet进行安装 3.检查telnet-server是否已 ...

  7. vim文本编辑器的用法

    vi是一个命令行界面的文本编辑器: vim是vi的改进版: vim不仅有文本编辑:还有文本处理.代码编辑等功能:   1.VIM简介 vim 命令可启动vim编辑器: 一般 vim 文件路径 来使用: ...

  8. noi.ac NOI挑战营模拟赛1-5

    注:因为博主是个每次考试都爆零垫底的菜鸡,所以此篇博客很有可能咕咕咕 (指只贴AC代码不写题解的......如果我真的不会做的话,就不能怪我了qwqwq) Day1 T1 swap 23pts 从一个 ...

  9. CUDA-F-1-1-异构计算-CUDA

    开篇废话 成熟与智慧其实和年龄相关,但绝不是完全由年龄决定,少年老成的人肯定是存在的,不是长得老,而是心态成熟,当然大多数老年人其实有些事情思考起来还是老原则,所以他们有时候做事没那么周到,所以一个人 ...

  10. 灰度图像--图像增强 Robert算子、Sobel算子

    学习DIP第36天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不 ...