无法将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+')');