我需要将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对数组执行此操作,但如何使用对象? 现在如何将此对象转换为字符串? 如何将此字符串取回对象?
答案 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);