将JSON字符串转换为对象 - jQuery

7
我有一个类似于这样的JSON字符串。
{"label":"label","label1":"67041","label2":"745","label3":"45191","label4":"11‌​464"}

我希望你能将它转换为如下的对象形式。
[{"label":"label","label1":"67041","label2":"745","label3":"45191","label4":"11‌​464"}]

我就是这样想到的。
'[' + {"label":"label","label1":"67041","label2":"745","label3":"45191","label4":"11‌​464"} + ']'

使用$.parseJSON()将其转换为JSON格式。

但是,有没有更优雅的方法来做呢?

如果有,请分享给我。

提前致谢。


你现在在做什么?http://jsfiddle.net/UDzrW/ - adeneo
@Jan - 这很清晰易懂,其他人甚至已经得到了正确的答案。为什么你要把它暂停呢? - Unknown User
4个回答

15

像这样使用JSONParse:https://api.jquery.com/jQuery.parseJSON/

var jsonobj = $.parseJSON(jsonString);

不需要先将其转换为对象,只需将字符串解析为变量,它将成为一个对象供您使用。


有没有一种方法可以不使用jQuery来完成它? - John Dvorak
是的,我也这么认为,但是这个问题被标记为jQuery,所以我不知道为什么你不使用它。 - Rookasaur
不使用jQuery的人可能仍然会遇到这个问题。提供一种替代方案总是很好的。 - John Dvorak
1
我想,如果那是情况,并且JQuery不是一个选项,我会使用JSON.Parse(前提是浏览器兼容):https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse - Rookasaur
从jQuery 3.0开始,$.parseJSON已被弃用。要解析JSON字符串,请改用本地的JSON.parse方法。 - Prasad De Silva

6
尝试将该对象推入数组中,
var xObj = {"label":"label","label1":"67041","label2":"745","label3":"45191","label4":"11‌​464"};
var xArr = [];
xArr.push(xObj);

console.log(JSON.stringify(xArr)); //[{"label":"label","label1":"67041","label2":"745","label3":"45191","label4":"11‌​464"}];

@Downvoter:您能告诉我您投票的原因吗?我是否对问题有什么误解?谢谢。 - Rajaprabhu Aravindasamy
2
非常感谢,这正是我期望的。我点了个赞。我不是那个踩你的人。 - Unknown User
我已经完成了。你提供的当然是正确的。我需要私信。我该如何联系你? - Unknown User
嗯,实际上我不知道这是什么。我是一个新手,不太会 JavaScript。只是根据我在 console.log 中看到的数据制作了标题。 - Unknown User
@JanDvorak 是的,完全正确。 - Rajaprabhu Aravindasamy
显示剩余12条评论

5
你可以使用 JSON.parse()
JSON.parse('{"p": 5}')//Not jquery need it

如果数组存在:

JSON.parse('[{"p": 5}]')

0

我相信 JSON.parse(str) 可以做到,但并不适用于所有浏览器。


1
我无法使用它。当我使用JSON.parse时,我遇到了错误。 - Unknown User
有一个可用的 shim 可以在不支持它的浏览器中提供它。我相信它被称为 Douglas Crockford 的 JSON2.js。 - Umar Farooq Khawaja
1
是的,您可以使用json2.js来填充不支持它的浏览器。我非常确定JSON.parse可以完成这项工作。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse - Kezealia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接