关于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的更多相关文章

  1. C#、js、json Datetime格式总结

    在工作过程中遇到时间格式的数据在C#.js 和 json保存的不同结果,现在总结一下 JavaScript Parser: 1.数字型时间转字符串时间 如var data = "/Date( ...

  2. js声明json数据,打印json数据,遍历json数据

    1.js声明json数据: 2.打印json数据: 3.遍历json数据 //声明JSON var json = {}; json.a = 1; //第一种赋值方式(仿对象型) json['b'] = ...

  3. Js中JSON数据交换使用总结

    Json格式简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是JavaScript原 ...

  4. JS操作JSON总结

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  5. js将json字符串转化成json对象的方法

    js将json字符串转化成json对象的方法: JSON.parse(jsonObject)

  6. JS中json数据的处理

    1.  json数据结构(对象和数组) json对象:var obj = {"name":"xiao","age":12}; json数组: ...

  7. JS中将JSON的字符串解析成JSON数据格式《转》

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...

  8. Js拼Json对象

     我们通常会拼字符串,但是拼字符串的话,遇见占位符会出错.  下面分享一个拼js拼json对象的方法:          var jsonArr = [];                     $ ...

  9. 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中

    http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转 ...

  10. JS解析json数据并将json字符串转化为数组的实现方法

    json数据在ajax实现异步交互时起到了很重要的作用,他可以返回请求的数据,然后利用客户端的js进行解析,这一点体现出js的强大,本文介绍JS解析json数据并将json字符串转化为数组的实现方法, ...

随机推荐

  1. Linux中yum和apt-get用法及区别

    Linux中yum和apt-get用法及区别   一般来说著名的linux系统基本上分两大类:   1.RedHat系列:Redhat.Centos.Fedora等   2.Debian系列:Debi ...

  2. Ruby中的语句中断和返回

    李哲 - APRIL 28, 2015 return,break,next 这几个关键字的使用都涉及到跳出作用域的问题,而他们的不同 则在于不同的关键字跳出去的目的作用域的不同,因为有代码块则导致有一 ...

  3. 安装微软ASP.NET MVC 4,运行以下的包管理器控制台命令

    (菜鸟,勿喷,有错求指正)Asp.net  新建的类库中安装MVC4  .下面是步骤,1+2:打开程序包管理控制台,3:运行Install-Package Microsoft.AspNet.Mvc - ...

  4. 数据库中已存在名为 'View_Business' 的对象。

    用EF框架+MCF,编译的时候出现:数据库中已存在名为 'View_Business' 的对象. 解决方案: 1.Enable-Migrations2.Add-Migration3.Update-Da ...

  5. HDU 1788 Chinese remainder theorem again

    题目链接 题意 : 中文题不详述. 思路 : 由N%Mi=(Mi-a)可得(N+a)%Mi=0;要取最小的N即找Mi的最小公倍数即可. #include <cstdio> #include ...

  6. BZOJ 1008: [HNOI2008]越狱 快速幂

    1008: [HNOI2008]越狱 Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生 ...

  7. sqlserver 分页

    SQL语句: create PROCEDURE [dbo].[GetPageDataOutRowNumber] ( @tn nvarchar(),--表名称 @idn nvarchar(),--表主键 ...

  8. Outlook与Hotmail的设置

    最近研究邮件备份,首先要使用客户端下载邮件,碰到不少问题:1. HOTMAIL GMAIL SINA的POP/IMAP默认居然都是关闭的,必须改成开放才行. GMAIL改成开放以后还是没有成功,好像还 ...

  9. MyBatis学习总结_01_MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  10. Android 广播机制(两种注册方法)与中断广播

    两种注册类型的区别是: 1)第一种不是常驻型广播,也就是说广播跟随activity的生命周期.注意: 在activity结束前,移除广播接收器. 2)第二种是常驻型,也就是说当应用程序关闭后,如果有信 ...