将Object转换为字符串并返回

时间:2015-07-07 07:34:39

标签: javascript jquery

我需要将Javascript对象转换为字符串,然后将此字符串转换回对象。

我得到的对象:

    var Checked = {};

// Hold all checkboxes
    $('div.list input[type=radio]:checked, input[type=checkbox]:checked').each(function () {
        var $el = $(this);
        var name = $el.attr('name');
        if (typeof (Checked[name]) === 'undefined') {
            Checked[name] = [];
        }
        Checked[name].push($el.val());
    });

我知道如何使用join和split对数组执行此操作,但如何使用对象? 现在如何将此对象转换为字符串? 如何将此字符串取回对象?

3 个答案:

答案 0 :(得分:8)

你在这里:

var object = {
  "1": [1, 2, {
    3: "3"
  }]
};
var str = JSON.stringify(object);
console.log(str);
var obj = JSON.parse(str);
console.log(obj["1"][2][3]);

希望这有帮助。

答案 1 :(得分:2)

JSON.parse() 方法将字符串解析为JSON对象,可选择转换解析产生的值。

<强>语法

JSON.parse(text [,reviver])

<强>参数

文本     要解析为JSON的字符串。有关JSON语法的说明,请参阅JSON对象。 reviver可选     如果一个函数,在返回之前规定了解析最初产生的值的转换方式。

<强>返回

返回与给定JSON文本对应的Object。

<强>抛出

如果要解析的字符串无效JSON,则抛出SyntaxError异常。

JSON.stringify() 方法将JavaScript值转换为JSON字符串,如果指定了replacer函数,则可以选择替换值,或者如果指定了replacer数组,则可选地仅包括指定的属性。

<强>语法

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

<强>参数

The value to convert to a JSON string.

替换者(可选)

一个改变字符串化过程行为的函数,或一个String和Number对象数组,用作白名单,用于选择要包含在JSON字符串中的值对象的属性。如果此值为null或未提供,则对象的所有属性都包含在生成的JSON字符串中。

空间(可选)

一个String或Number对象,用于将空白插入输出JSON字符串以便于阅读。如果这是一个数字,则表示用作空格的空格字符数;如果这个数字大于10,则该数字的上限为10。小于1的值表示不应使用空格。如果这是一个String,则字符串(或字符串的前10个字符,如果长于该字符串)用作空格。如果未提供此参数(或为null),则不使用空格。

来源:

答案 2 :(得分:1)

var obj = { x: 5, y: 6 };
var a = JSON.stringify(obj);
console.log(typeof a);
console.log( a);
var b = $.parseJSON(a);
console.log(typeof b);
console.log( b);