作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有例子:
var data = [{"name":"eric","age":"24"},{"name":"goulding","age":"23"}]
我想像这样将上面的 jso 转换为 json :
[{name:"eric",age:24},{name:"goulding",age:23}]
请多多指教。
最佳答案
您需要使用 JSON.parse带有 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"
无法转换为数字。然而,当使用 reviver("age", "24")
调用时,返回数字 24
。
与此同时,正如其他人已经注意到的文字 [{"name":"eric","age":"24"},{"name":"goulding","age":"23"} ]
不是 JSON,它是一个数组。但是字符串 '[{"name":"eric","age":"24"},{"name":"goulding","age":"23"}]'
表示一个有效的 JSON 格式的数组对象。
关于javascript - 如何将 JSO 转换为 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32376010/
我是一名优秀的程序员,十分优秀!