json对象与字符串的相互转换,数组和字符串的转换

1.json对象转换为字符串

JSON.stringify(value [, replacer] [, space]) 

var student = new Object();

student.id = "001";

student.name = "程陈";

student.age = "18";

var str = JSON.stringify(student);

//{"id":"001","name":"程陈","age":"18"}

var str1 = JSON.stringify(student,["id"],"ok");

//{
//ok"id": "001"
//}

var data = [
{ name: "小红", sex: 1, age: 10 },
{ name: "小明", sex: 0, age: 10 },
{ name: "小华", sex: 1, age: 30 }
];
var str_json = JSON.stringify(data, function (k, v) {
if (k === "sex") {
return ["女", "男"][v];
}
return v;
});

//[{"name":"小红","sex":"男","age":10},{"name":"小明","sex":"女","age":10},{"name":"小华","sex":"男","age":30}]

replacer : 使用来过滤的,可以出来数组和函数

情况一:replacer为数组时,通过后面的实验可以知道,它是和第一个参数value有关系的。一般来说,系列化后的结果是通过键值对来进行表示的。 所以,如果此时第二个参数的值在第一个存在,那么就以第二个参数的值做key,第一个参数的值为value进行表示,如果不存在,就忽略。

  情况二:replacer为方法时,那很简单,就是说把系列化后的每一个对象(记住是每一个)传进方法里面进行处理。

space:就是用什么来做分隔符的。

  1)如果省略的话,那么显示出来的值就没有分隔符,直接输出来 。
  2)如果是一个数字的话,那么它就定义缩进几个字符,当然如果大于10 ,则默认为10,因为最大值为10。
  3)如果是一些转义字符,比如“\t”,表示回车,那么它每行一个回车。 
  4)如果仅仅是字符串,就在每行输出值的时候把这些字符串附加上去。当然,最大长度也是10个字符。

2.字符串转换为json 对象

var str2 = ‘{"abc":"123","bcd":"234"}‘;//每个属性都要用双引号括起来;不然会有异常

var obj = JSON.parse(str2);

//Object {abc: "123", bcd: "234"}

3.数组转换为字符串

var arr = ["aaa","bbb","ccc","ddd"];

var str4 = arr.join(",");

//aaa,bbb,ccc,ddd

4.字符串转换为数组

var str5 = "123,234,345,456";
var arr1 = str5.split(",");
console.log(arr1);

//["123", "234", "345", "456"]

时间: 2024-10-12 20:52:05

json对象与字符串的相互转换,数组和字符串的转换的相关文章

JavaScript基本数据类型,函数对象,表,数组,字符串,函数调用

直接上代码了, 1 cc.Class({ 2 extends: cc.Component, 3 4 properties: { 5 6 }, 7 //JS基本数据_函数对象_表_数组_字符串_函数调用 8 onLoad:function () { 9 //基本数据类型 10 //1整数 2 小数 3 逻辑变量真/假 cc.log();进行打印 11 console.log(1); 12 console.log(2.0); 13 console.log(true); 14 15 /*1: var

jQuery中json对象的复制(数组及对象)

摘自: http://www.2cto.com/kf/201306/218838.html 1.jQuery自带的$.map方式: $.map(json, function (n) { return n; }); 这种方式原来用于复制数组还可以,今天用它复制数组中的某一条记录,发现字段名称丢失了,后来发现了第二种方法. 2.深复制与浅复制 // 浅层复制(只复制顶层的非 object 元素) var newObject = jQuery.extend({}, oldObject); // 深层复

JS中,JSON 和 对象互转,数组和字符串的转换?

JSON 与 J对象转化 要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法: 如下: var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}' 要实现从 JSON 转换为对象,使用 JSON.parse() 方法: 如下: var obj = JSON.parse('{&q

指针和字符串,数组和字符串(2)

补充第一点://定义字符串数组 //定义字符串数组 #include <stdio.h> int main(int argc, char *argv[]) { int ages[5];//整型数组 char *name[5]://指针数组 char *name[5]={"jack","rose"};//字符串数组 ////////////////////////////////////////////// char name2[2][10]={ &quo

jedis实现redis的消息队列、发布对象消息、字节数组与字符串相互转换

redis支持发布/订阅的消息队列机制,jedis提供了java访问redis的客户端,本文将描述如何用jedis实现简单的消息队列,并传输对象. redis支持发布.订阅的功能,基本的命令有publish.subscribe等.在jedis中,有对应的java方法,并且只能发布字符串消息.为了传输对象,需要将对象进行序列化,并封装成字符串进行处理.将对象序列化后,只能成为字节流,如何封装成字符串是一个难点,具体可参考下面的代码. 实现三个类,一个对应publish.一个对应subscribe.

json对象和json字符串转换方法

在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. 先明确2个概念例如: JSON字符串: var str1 = '{ "name": "deyuyi", "sex": "man" }'; JSON对象: var str2 = { "name": "del

json对象和json字符串有啥区别啊

json对象可以通过javascript存取属性!json对象装成json字符串经常用于前后台传输数据! 如果你在前台使用,那么Json对象可以通过xx.name来调用,如果是字符串,那么就是字符串了 ajax中,我们自己拼接的是一个JSON对象,以为它是无数据类型的,所以JS根据其格式默认其实对象, 你要是往后台发,要先把它装换成JSON字符. 从ajax的服务器发过的,一定是字符串,你想要把它解析,很简单,把它先变成JSON对象才行. 太厉害了. 在数据传输过程中,json是以文本,即字符串

js 将json字符串转换为json对象的方法解析(转)

js 将json字符串转换为json对象的方法解析 将json字符串转换为json对象的方法.在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": &

json 对象 和 json 字符串

理解: JSON 字符串: var str = '{"name": xh, "sex": "man"}'; JSON 对象: var str = {"name": hcr, "sex": "man"}; 在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 一.JSON字符串 转换为 JSON对象 /