js 数组、对象转json以及json转js数组、对象

1,167 阅读1分钟

1、JS对象转JSON

方式:JSON.stringify(obj)

var json = {"name":"iphone","price":666}; //创建对象;
var jsonStr = JSON.stringify(json);       //转为JSON字符串
console.log(jsonStr);

2、JS数组转JSON

//数组转json串
var arr = [1,2,3, { a : 1 } ];
JSON.stringify( arr );

3、JS对象数组转JSON

//数组转json串
var arr = [1,2,3, { a : 1 } ];
JSON.stringify( arr );

4、JSON转JS数组

//json字符串转数组
var jsonStr = '[1,2,3,{"a":1}]';
var jsarr=JSON.parse( jsonStr );
alert(jsarr[0]);

5、JSON转JS对象

var jsonString = '{"bar":"property","baz":3}';
var jsObject = JSON.parse(jsonString);    //转换为json对象
alert(jsObject.bar);    //取json中的值

6、JS中的数组转变成JSON格式字符串的方法

有一个JS数组,如:

var arr = [    ["projectname1","projectnumber1"],
    ["projectname2","projectnumber2"],
    ["projectname3","projectnumber3"]
];

想将此数组转换成JSON字符串,如:

var jsonarr = [
    {"projectname":projectname1,"projectnumber":projectnumber1},
    {"projectname":projectname2,"projectnumber":projectnumber2},
    {"projectname":projectname3,"projectnumber":projectnumber3}
];

方法如下:

function tojson(arr){ 
    if(!arr.length) return null; 
    var i = 0; 
    len = arr.length, 
    array = []; 
    for(;i<len;i++){ 
        array.push({"projectname":arr[i][0],"projectnumber":arr[i][1]}); 
    } 
    return JSON.stringify(array); 
}

7、Js 数组转JSON格式

var arrays=new Array();
//JSON.stringify() 不能转下标非1,2,3这种数字的数组,
//所以采用新建对象的方式添加数据
var products={};
products['productid']='32';
products['name']='手机';
arrays.push(products);

products['productid']='33';
products['name']='电脑';
arrays.push(products);
	
var json_arrays = JSON.stringify(arrays);
console.log(json_arrays);