如何让JS认为字符串是JSON?
我有一个函数,它只有在JSON对象被传递给它时才起作用。如果我向它传递一个与JSON格式相同的字符串,它就不能工作。所以我想让该函数认为传递给它的字符串是一个JSON。该字符串确实是JSON格式的。
我还尝试了以下方法。我通过Ajax输入字符串,参数为"handle as“为"JSON",然后将结果传递给函数,它就可以工作了。
所以我推断问题不在于字符串。如何将此字符串转换为JSON?如果我通过ajax请求获得相同的字符串,然后将其传递给函数,则可以工作,而直接传递则不起作用。
字符串如下:
{
"data": [
{
"id": "id1",
"fields": [
{
"id": "name1",
"label": "joker",
"unit": "year"
},
{"id": "name2", "label": "Quantity"},
],
"rows": [ data here....
and closing braces..
发布于 2012-06-11 16:51:30
var obj = JSON.parse(string);
其中string
是您的json字符串。
发布于 2012-06-11 16:52:27
var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
链接:-
发布于 2014-01-17 08:51:31
我和你的类似的字符串也有同样的问题
{id:1,field1:"someField"},{id:2,field1:"someOtherField"}
这里的问题是字符串的结构。在这种情况下,json解析器没有识别出需要创建2个对象。所以我所做的有点愚蠢,我只是重新构造了我的字符串,并添加了解析器识别的[]
var myString = {id:1,field1:"someField"},{id:2,field1:"someOtherField"}
myString = '[' + myString +']'
var json = $.parseJSON(myString)
希望能有所帮助,
如果有人有更优雅的方法,请分享。
https://stackoverflow.com/questions/10976897
复制相似问题