Zer*_*er0 142 javascript ajax json
你如何让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..
Run Code Online (Sandbox Code Playgroud)
Ksh*_*tij 343
var obj = JSON.parse(string);
Run Code Online (Sandbox Code Playgroud)
string
你的json字符串在哪里?
Sar*_*raz 26
你可以使用JSON.parse()
它.
例:
var myObj = JSON.parse('{"p": 5}');
console.log(myObj);
Run Code Online (Sandbox Code Playgroud)
小智 7
我和你的类似字符串有同样的问题
{id:1,field1:"someField"},{id:2,field1:"someOtherField"}
Run Code Online (Sandbox Code Playgroud)
问题是她是字符串的结构,json解析器没有意识到它需要在这种情况下创建2个对象.所以我做的有点傻,我只是重新组织我的字符串并添加[]
了解析器识别
var myString = {id:1,field1:"someField"},{id:2,field1:"someOtherField"}
myString = '[' + myString +']'
var json = $.parseJSON(myString)
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你,
如果有人有更优雅的方法请分享.
var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
Run Code Online (Sandbox Code Playgroud)
链接:-
http://api.jquery.com/jQuery.parseJSON/
简单地使用eval
函数。
var myJson = eval(theJsibStr);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
517049 次 |
最近记录: |