js之json
关于json不了解的,请点击:http://www.json.org/json-zh.html
json对象的属性必须要用双引号,值为字符串类型也只能使用双引号,例:{"name":"mu"} json不支持undefined类型
由于ie8-版本不支持JSON对象,所以需要引用https://github.com/douglascrockford/JSON-js/blob/master/json2.js文件 才能模拟JSON对象并调用它的相关方法 (eval方法虽然也可以做json对象的转换,但不安全)
1 js对象转换为json字符串 JSON.stringify
var obj = { name: "mu", age: 30, sex: 1 }; var json = JSON.stringify(obj); document.write(json); //JSON.stringify 第二参数传一个数组,则js对象跟数组中的元素同名的属性才会被转换 json = JSON.stringify(obj,["name","sex"]); document.write(json); //JSON.stringify 第二参数传入一个回调函数,并以js对象的键和值为参数,可对转换的值进行处理,如果返回undefined则不会转换该js对象的属性
json = JSON.stringify(obj, function(key,value) {
if (key == "name") {
return value + "test";
}
return value;
}); document.write(json); //JSON.stringify 第三参数传一个数字,则会缩进显示,但数字超过10则只按10处理
json = JSON.stringify(obj, null,10); alert(json); //JSON.stringify 第三参数传一个字符串,则会在属性前加上这个字符串,但传入的字符超过10个则截取10个字符
alert(json); //如果对象中有toJSON方法,则先调用toJSON,得到结果会再执行第二个参数和第三个参数
var obj = {
name: "mu",
age: 30,
sex: 1,
toJSON: function() {
return this.name;
}
}; json = JSON.stringify(obj); document.write(json);
2 json字符串转换为js对象 JSON.parse
var obj = { "name": "mu", "age": 30, "sex": 1 }; var json = JSON.stringify(obj); var o = JSON.parse(json); document.write(o.name); //JSON.parse 第二参数传入一个函数,并且参数为对应的键和值,转换的对象属性的值进行修改
o = JSON.parse(json, function(key,value) {
if (key == "name") {
return "test" + value;
}
return value;
}); document.write(o.name);
js之json的更多相关文章
- C#、js、json Datetime格式总结
在工作过程中遇到时间格式的数据在C#.js 和 json保存的不同结果,现在总结一下 JavaScript Parser: 1.数字型时间转字符串时间 如var data = "/Date( ...
- js声明json数据,打印json数据,遍历json数据
1.js声明json数据: 2.打印json数据: 3.遍历json数据 //声明JSON var json = {}; json.a = 1; //第一种赋值方式(仿对象型) json['b'] = ...
- Js中JSON数据交换使用总结
Json格式简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是JavaScript原 ...
- JS操作JSON总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- js将json字符串转化成json对象的方法
js将json字符串转化成json对象的方法: JSON.parse(jsonObject)
- JS中json数据的处理
1. json数据结构(对象和数组) json对象:var obj = {"name":"xiao","age":12}; json数组: ...
- JS中将JSON的字符串解析成JSON数据格式《转》
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...
- Js拼Json对象
我们通常会拼字符串,但是拼字符串的话,遇见占位符会出错. 下面分享一个拼js拼json对象的方法: var jsonArr = []; $ ...
- 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中
http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转 ...
- JS解析json数据并将json字符串转化为数组的实现方法
json数据在ajax实现异步交互时起到了很重要的作用,他可以返回请求的数据,然后利用客户端的js进行解析,这一点体现出js的强大,本文介绍JS解析json数据并将json字符串转化为数组的实现方法, ...
随机推荐
- 使用jQuery动态加载js脚本
动态加载Javascript是一项非常强大且有用的技术.这方面的主题在本站已经讨论了不少,我也经常会在一些个人项目上使用RequireJS和Dojo加载js.它们很强大,但有时候也会得不偿失.如果你使 ...
- HDOJ 1429 胜利大逃亡(续)
胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- 帝国cms栏目别名如何调用?
我们在用帝国cms建站时经常会发现栏目的标题不好设置,栏目名称太长的话在后台那边看了眼花,太短又不好优化.能不能直接调用栏目别名呢?栏目别名不会什么影响.那么,帝国cms栏目别名怎么调用呢?和ytka ...
- 流程控制语句和增强for循环
import java.lang.Math; //import java.util.Arrays; public class test{ public static void main(String[ ...
- LCT模板
之前一直用的LCT模板,因为其实个人对LCT和Splay不是很熟,所以用起来总觉得略略的坑爹,过了一段时间就忘了,但事实上很多裸的LCT要改的东西是不多的,所以今天写了些注释,以后可能套起模板来会得心 ...
- P==NP??
注:基础知识见下方 下面是关于P==NP ??? 一些讨论,挺好玩的. 1. 首先强调一下数学上还没有证明这个问题!但是我们看看其他角度来看这个问题. 其次,心理上来说,要是可以证明P==NP那么早 ...
- jquery mobile的学习资料
磨刀不误砍柴工!想要学的快就得有好的资源.jquery mobile只是jquery的一个插件,所以相对简单易学.只要有jquery的基础就好.如果想修改东西的话,那么需要的知识就相对较多了. 书 & ...
- ExtJs布局之table
<!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...
- Jmeter 快速入门教程(三-2) -- 设置集结点
集合点:简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点, 还拿那个用户和密码的地方,每到输入用户 ...
- linq lambda 分组后排序
1.lamdba分组排序foodBusinessDistrict. GroupBy(x => new ...