Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将JSON字符串转换为javascript对象_Javascript_Json - Fatal编程技术网

无法将JSON字符串转换为javascript对象

无法将JSON字符串转换为javascript对象,javascript,json,Javascript,Json,在警告中,未定义:未定义您应该使用: var JSONObj='[{"rmaNumber":null,"orderReferenceNumber":"referene45","orderStatus":"Pending","dateRequested":null,"dateApproved":null,"segateAddress":null,"billingAddress":null,"shippingAddress":null,"returnForCredit":{"requeste

在警告中,未定义:未定义

您应该使用:

    var JSONObj='[{"rmaNumber":null,"orderReferenceNumber":"referene45","orderStatus":"Pending","dateRequested":null,"dateApproved":null,"segateAddress":null,"billingAddress":null,"shippingAddress":null,"returnForCredit":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"returnForExchange":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"totals":null}]'
    var parsedJSON = eval('(\'+JSONObj+\')');    
    var result=parsedJSON.result;
    var count=parsedJSON.count;
    alert('result:'+result+' count:'+count);
注意:此方法仅受现代浏览器支持。阅读有关浏览器兼容性的信息

但是,您没有任何名为“result”或“count”的JSON字段,因此这些字段将是未定义的。

您可以使用

对于不支持
JSON.parse
nativly(MSIE)的浏览器,您可以使用第三方库,如或


你的报价有问题

你可以通过替换来修复它

var parsedJSON = JSON.parse(JSONObj); 

但这里没有理由不使用

这将为您提供已解析的JSON对象。但是在Json对象中没有属性名
result
,也没有
count
。如果你想计算数组,那么你只需使用
length
,例如
parsedJSON.length

试试看

var parsedJSON = eval(JSONObj);

第一件事:

var JSONObj='[{"rmaNumber":null,"orderReferenceNumber":"referene45","orderStatus":"Pending","dateRequested":null,"dateApproved":null,"segateAddress":null,"billingAddress":null,"shippingAddress":null,"returnForCredit":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"returnForExchange":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"totals":null}]';

 eval("var  parsedJSON =" + JSONObj);
应该是

var parsedJSON = eval('(\'+JSONObj+\')');
第二件事:
我没有看到任何
结果
计数
对象是json字符串


第三件事:
json中的数据在数组中,因此如果对象中有任何对象
result
,则应使用
parsedJSON[0]访问该对象。result

可能与Hi重复,我认为您是新来的,请看,如果有任何答案解决了您的问题,那么您应该将该答案标记为正确,这样可以帮助其他人,并且这些问题将被设置为已解决,这就是这个表单的工作方式。谢谢:)@Pratik你说得对,但最好是以重复的方式结束这个问题(我投了赞成票),除非OP解释了为什么他需要使用
eval
var parsedJSON = eval('('+JSONObj+')');    
var parsedJSON = eval(JSONObj);
var JSONObj='[{"rmaNumber":null,"orderReferenceNumber":"referene45","orderStatus":"Pending","dateRequested":null,"dateApproved":null,"segateAddress":null,"billingAddress":null,"shippingAddress":null,"returnForCredit":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"returnForExchange":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"totals":null}]';

 eval("var  parsedJSON =" + JSONObj);
var parsedJSON = eval('(\'+JSONObj+\')');
var parsedJSON = eval('('+JSONObj+')');