Javascript 如何将JSO转换为JSON?

Javascript 如何将JSO转换为JSON?,javascript,json,Javascript,Json,我举了一个例子: var data = [{"name":"eric","age":"24"},{"name":"goulding","age":"23"}] 我想将上面的jso转换为json,结果如下: [{name:"eric",age:24},{name:"goulding",age:23}] 请给我一些建议。您需要与reviver参数一起使用: var jsonString = '[{"name":"eric","age":"24"},{"name":"goulding","age"

我举了一个例子:

var data = [{"name":"eric","age":"24"},{"name":"goulding","age":"23"}]
我想将上面的jso转换为json,结果如下:

[{name:"eric",age:24},{name:"goulding",age:23}]
请给我一些建议。

您需要与reviver参数一起使用:

var jsonString = '[{"name":"eric","age":"24"},{"name":"goulding","age":"23"}]';

// given a string value, returns the number representation
// if possible, else returns the original value
var reviver = function (key, value) {
    var number = Number(value);

    return number === number ? number : value;
};

// because the reviver parameter is provided,
// the parse process will call it for each key-value pair
// in order to determine the ultimate value in a set
var data = JSON.parse(jsonString, reviver);
当使用
reviver(“name”,“eric”)
调用reviver时,它返回
“eric”
,因为
“eric”
无法转换为数字。但是,当使用
恢复器(“age”,“24”)
调用时,将返回编号
24


同时,正如其他人已经注意到的那样,{code>[{“name”:“eric”,“age”:“24”},{“name”:“goulding”,“age”:“23”}]是而不是JSON,它是一个数组。但是字符串
'[{“name”:“eric”,“age”:“24”},{“name”:“goulding”,“age”:“23”}]
表示一个有效的JSON格式的数组对象。

您提供的不是JSON,它只是一个JSO。哈哈JSO!我要用它!请确认您的数据实际上只是一个JavaScript对象,而不是JSON字符串。另外,请将问题的标题改为有意义的内容。@torazaburo谢谢,这就是我的意思。如果OP实际上是以JSON字符串开始的,这可能是一个很好的解决方案,但没有真正的迹象表明这就是ase。是否需要将对象转换为对象?这个问题的措辞并不巧妙,但如果你真的考虑一下,你可以阅读如何转换JSON字符串。。。对象JavaScript?。我们都可能推断出OP的意图。我们同样可以推断,他实际上不知道JSON是什么,并且认为JS对象和其他许多人一样是JSON。这一点得到了一个事实的支持,即他在问题中没有显示带引号的字符串。很难想象有人甚至从未听说过
JSON.parse
。更可能的情况是,他想以某种方式将字符串“转换”为数字。总之,直到OP醒来并回答了澄清的评论,我们才知道。你的评论是正确的。