js中JSON的使用

  json主要的优势就是格式精简,相比较xml的话。一般用来作为数据传输,前后端进行数据传递。

  现在流行的浏览器普遍支持JSON的两个方法,序列化和反序列化。

  1.   JSON.stringnify()

  2.   JSON.parse()

下边的示例就是这两个方法的常见用法。

注意一点:json这个两个方法,会忽视掉undefined的项目属性,比如key为test的项目被忽略掉。

var a;
var person = {
    "fullname" : "Mr Xi",
    "wife" : "Miss Peng",
    "children" : ["Xi1", "Xi2"],
    "age" : 53,
    "test" : a
};

console.log(a); // undefined
var str = JSON.stringify(person);// 通常序列化后,可以传到后台
console.log(str);// {"fullname":"Mr Xi","wife":"Miss Peng","children":["Xi1","Xi2"],"age":53} 

var jobj = JSON.parse(str);// 从后台传到前台后,进行解析
console.log(jobj);

很多时候,我们大多数忽视了这两个方法的第二个参数。第二个参数主要用于过滤作用(可以是数组,或者是函数)。

当为数组的时候,传递json对象的keys,传递了则包含这个属性,否则过滤掉。

当为函数的时候,函数有两个参数分别是key和value,针对自己的业务进行处理,return undefined则不包含,否则返回value。

var str1 = JSON.stringify(person, ["fullname", "children"]);
console.log(str1);// {"fullname":"Mr Xi","children":["Xi1","Xi2"]}

var str2 = JSON.stringify(person, function(k,v){
    if (k == "children"){
        v.push("Xi3");
        return v;
    } else if (k == "age"){
        return undefined;
    } else {
        return v;
    }
});
console.log(str2);
// {"fullname":"Mr Xi","wife":"Miss Peng","children":["Xi1","Xi2","Xi3"]}

 

  

时间: 2024-10-14 17:27:38

js中JSON的使用的相关文章

js中 json对象与json字符串相互转换的几种方式

以下总结js中 json对象与json字符串相互转换的几种方式: 一.JSON对象转化为JSON字符串 1.使用JSON.stringify()方法进行转换 该方法不支持较老版本的IE浏览器,比如:ie8(兼容模式).ie7.ie6. var jsonStr = JSON.stringify(jsonObj); alert(jsonStr); var jsonStr = jsonObj.toJSONString(); alert(jsonStr); 二.JSON字符串转化为JSON对象 1.使用

Js中JSON.stringify()与JSON.parse()与eval()详解及使用案例

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使使JSON称为理想的数据交换语言,作用是易于阅读和编写,同时也易于机器解析和生成(一般用于网络传输速率). 一:JSON.parse(); 作用:将json字符串转换成json对象 语法:JSON. parse(text[,reviver]). 参数: text:必选,一个有效的json字符串. reviver:可选. 返回值:

JS中JSON详解

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包. 在JSON中,有两种结构:对象和数组. 1. 一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一个":"(冒号):&qu

js中 json详解

json的语法可以表示以下三种类型的值. 1.简单值:可以在json中表示字符串.数值.布尔和null. 2.对象:对象作为一种复杂的数据类型,表示一组有序的键值对儿. 3.数组:数组也是一种复杂的数据类型,表示一组有序的值列表,可以通过数值索引来访问其中的值. json不支持变量.函数或对象实例,它就是一种表示结构化数据的格式. 1.1:简单值: 如下10,“aa”,json字符串与js字符串最大的区别是json字符串必须使用双引号布尔与null也是有效的json形式. 2.1:对象 对象字面

js中json处理总结之JSON.parse

踩过的坑都将成为路上的风景.队友在cookie中已存以下值: address_info {"address_name":"人民大会堂","...lng":1,"address_lat":1} 仔细观摩,并无发现任何不妥,只是一种简简单单的json格式字符串而已. 但在前台调用时,百试不爽,屡屡出错,错误代码如下,一直显示undefined var address_info = getCookie('address_info')

js中json字符串转成js对象

json字符串转成js对象我所知的方法有2种: //json字符串转换成json对象 var str_json = "{name:'liuchuan'}"; //json字符串 //1. 函数对象构造定义 var obj1 = new Function("return " + str_json)(); console.log(obj1.name); //2. eval函数 var obj2 = eval("(" + str_json + &quo

js中json与数组字符串的相互转化

<SCRIPT LANGUAGE="JavaScript"> var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': { 'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7

js 中json的使用

JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: var str2 = { "name": "cxh", "sex": "man" }; JSON数组: var jsonranklist=[{"xlid":"cxh","xl

js中json对象和字符串的转换

JSON.parse() : 字符串-->json对象 1 var str = '{"name":"huangxiaojian","age":"23"}'//单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常. 2 JSON.parse(str) 3 结果: 4 Object 5 age: "23" 6 name: "huangxiaojian" 7 __proto__:

JS中JSON.stringify()方法,将js对象转换成字符串,传入服务器

JSON 通常用于与服务端交换数据. 在向服务器发送数据时一般是字符串. 我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串. 语法 JSON.stringify(value[, replacer[, space]]) 参数说明: value: 必需, 要转换的 JavaScript 值(通常为对象或数组). replacer: 可选.用于转换结果的函数或数组. 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个