本帖最后由 chunwah 于 2011-10-28 23:41:20 编辑

解决方案 »

  1.   

    var json = '{"products":[{"description":"<span class=love>123</span>"},{"b":"b"}]}'
    alert(eval("(" + json + ")").products)
      

  2.   


    var json = '{"products":[{"description":"<span class=\\\"love\\\">123</span>"},{"b":"b"}]}';
    var obj = eval("(" + json + ")");
    alert(obj.products[0].description);
      

  3.   

    <script>
    var json = {'products':[{'description':'<span class="love">123</span>'},{'b':'b'}]};
    var obj = eval(json);
    alert(obj.products[0].description);
    </script>
    <script>var json = {"products":[{"description":"<span class=\\\"love\\\">123</span>"},{"b":"b"}]};
    alert(json.products[0].description);
    var obj = eval(json);
    alert(obj.products[0].description);
    var json = '{"products":[{"description":"<span class=\\\"love\\\">123</span>"},{"b":"b"}]}';
    var obj = eval("(" + json + ")");
    alert(obj.products[0].description);
    var json = {'products':[{'description':'<span class="love">123</span>'},{'b':'b'}]};
    var obj = eval(json);
    alert(obj.products[0].description);
    </script>
      

  4.   


    <script>
    //第一种方式
    var json = '{"products":[{"description":"<span class=\\\"love\\\">123</span>"},{"b":"b"}]}';
    var obj = eval("(" + json + ")");
    alert(obj.products[0].description);//第二种方式
    var json = {'products':[{'description':'<span class="love">123</span>'},{'b':'b'}]};
    var obj = eval(json);
    alert(obj.products[0].description);
    </script>
      

  5.   

    谢谢上面的同学们,不过我是想不更改原来的json字符串就能直接转成js对象,不知能不能做到。
      

  6.   

    JSON.parse(str) 转换为json objectJSON.stringify(jsonobject) to a string
      

  7.   

    可以用replace改么?如果什么都不能改话,还有个办法,,找开发js源码的人帮你,改了eval的实现
      

  8.   

    Object类型的Json字符串必须要在eval时候放入到()内才可以。
      

  9.   

    eval("(" + json + ")");