请问如何将data表示的字符串评估成第二行代码的一个json对象
var data="{ss:'11',ff:'22',gg:'33'}";
var jsonData=={ss:'11',ff:'22',gg:'33'};

解决方案 »

  1.   

    附加说明:上面的第二行代码是一个等号,不是两个等号
    我再加个问题,请问如何动态的为对象增加属性并为该属性赋值(不是为对象增加方法),我主要是想生成json对象
      

  2.   

    试试 eval('var jsonData=' + data)
      

  3.   

    上面应该不行,试试:
    var jsonData = null;
    eval('jsonData=' + data);
    alert(jsonDta);//应该是个object
    alert(jsonDta.ss);//应该是个11
      

  4.   

    var data="{ss:'11',ff:'22',gg:'33'}"; 
    var jsonData=eval("("+data+")");
      

  5.   

    <script>
    var data="{ss:'11',ff:'22',gg:'33'}"; 
    var jsonData=eval("("+data+")");
    alert(jsonData.ss);
    jsonData.hh = "44";//设置hh属性,值为44
    alert(jsonData.hh);//44
    </script>
      

  6.   


    var jsonString = "{ss:'11',ff:'22',gg:'33'}";
    // convert json string into json object
    var jsonObject = eval("(" + jsonString + ")");
    // add property to json object
    jsonObject.newProp = "new property";
    alert(jsonObject.ss);
    alert(jsonObject.newProp);
      

  7.   

    5\6\7楼正解
    字符串转化成json
    ("(+字符串+)")
      

  8.   

    参见:http://www.jslab.org.cn/?tag=ScopeChainAndClosure标签3
      

  9.   


    var data="{ss:'11',ff:'22',gg:'33'}";eval("var jsonData = " + data + ";");alert(jsonData.ss);
      

  10.   

    为对象增加属性var obj = new Object();var propertyName  = "name"; // 属性名
    var propertyValue = "json"; // 属性值obj[propertyName] = propertyValue;alert(obj.name);
    alert(obj[propertyName]);
      

  11.   


    <script>
    var data="{ss:'11',ff:'22',gg:'33'}"; 
    var jsonData=eval("("+data+")");
    alert(jsonData.ss);
    </script>