Jquery:无法转换Javascript对象

时间:2015-09-29 12:12:33

标签: javascript jquery

我的后端是Django

django正在发送字符串X,如下所示

<?php if ($_product->getProductShipping()){?>
    <p>Shipping Charges : Rs.<?php echo $_product->getProductShipping(); ?>
<?php }else { ?>
    <p>Shipping Charges : Free Shipping
<?php } ?>

在Jquery中,由于双引号,JSON.parse()不起作用。它仅适用于用值包围的单引号

我想将字符串X转换为js对象。任何帮助都可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

字符串不是 valid JSON ,因此 JSON.parse() 可以使用 eval()

&#13;
&#13;
var str="[{'one': 'hi'}, {'one': 'hello'}]";

var obj=eval(str);

console.log(obj);
&#13;
&#13;
&#13;

或者字符串应该在 valid JSON format 中,检查服务器端代码并​​构建有效的JSON

&#13;
&#13;
var str = '[{"one": "hi"}, {"one": "hello"}]';
//-----------^---^--^--^----^---^--^-----^---

var obj = JSON.parse(str);

console.log(obj);
&#13;
&#13;
&#13;