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字符串转化为数组的实现方法, ...
随机推荐
- 【ASP.Net MVC】在AspNet Mvc使用Ajax
目录 一.使用System.Web.Mvc.Ajax 1.1 System.Web.Mvc.Ajax.BeginForm 1.2 System.Web.Mvc.Ajax.ActionLink 二.手工 ...
- [转]日期格式化(yyyy-MM-dd)中,为什么 M 多大写?
最近犯了个可傻逼的错误,格式化年月日的时候不小心将yyyy-MM-dd写成YYYY-MM-dd,导致格式化结果中年不正确. 看看知乎上的说法 问题: http://www.zhihu.com/ques ...
- CSLight研究院之学习笔记结合NGUI(一)
原地址:http://www.xuanyusong.com/archives/3088 这两天一直在研究CSLight,目前Unity热更新的方式有两种,一种是ulua这个网上的例子已经很多了.还有一 ...
- ubuntu修改ip、网关、dns等
一.使用命令设置Ubuntu IP地址 1.修改配置文件blacklist.conf禁用IPV6 sudo vi /etc/modprobe.d/blacklist.conf 表示用vi编辑器(也可以 ...
- 【四】php字符串操作
1.trim函数,我们队trim函数并不陌生,用于去除字符串两头的空白符.php的trim方法也可以做到这一点,但是还可以使用第二个参数,用于规定你在两头去掉什么.php中还有 ltrim 和 rtr ...
- LCA(最近公共祖先)离线算法Tarjan+并查集
本文来自:http://www.cnblogs.com/Findxiaoxun/p/3428516.html 写得很好,一看就懂了. 在这里就复制了一份. LCA问题: 给出一棵有根树T,对于任意两个 ...
- TCP三次握手和四次挥手协议
相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. TCP三次握手 所谓三次握手( ...
- RTMP/RTP/RTSP/RTCP的区别
RTCP RTMP/RTP/RTSP/RTCP的区别 http://blog.csdn.net/frankiewang008/article/details/7665547 流媒体协议介绍(rtp/r ...
- JavaPersistenceWithHibernate第二版笔记Getting started with ORM-001用JPA和Hibernate实现HellowWorld(JTA、Bitronix)
一.结构 二.model层 1. package org.jpwh.model.helloworld; import javax.persistence.Entity; import javax.pe ...
- SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-001-Spring对原始JDBC的封装
1.spring扩展的jdbc异常 2.Template的运行机制 Spring separates the fixed and variable parts of the data-access p ...