2013-11-09 72 views
1

我的值如下,从php请求返回,所以它是一个字符串。我如何(转换为普通对象)将其放入下面的数据中?将字符串转换为普通对象

"fieldName: \"ABC\", skill: \"1002\"" 

jQuery.ajax({ 
       type: 'GET', 
       url: setting_url, 
       data: {}, 
       success: function (result) {}, 
       error: function (xhr, ajaxOptions, thrownError) { }, 
       complete: function() { } 
      }); 
+0

哪些数据和字符串是什么? – hjpotter92

+0

响应是什么样的? JSON? –

+0

数据在jQuery.ajax中,字符串为“fieldName:\”ABC \“,skill:\”1002 \“” –

回答

1
var response = "\"fieldName\":\"ABC\",\"skill\":\"1002\""; // should look like 
var obj = JSON.parse("{"+response+"}"); 

alert(obj)   // [object Object] 
alert(obj.skill); // 1002 

这意味着有一个有效的字符串被解析成的对象,你属性键应包装成双引号

+0

这确实是一个痛苦,需要双引号:( –

+0

@GôTô你可以这样做:''”fieldName“:”ABC“,”技能“:”1002“”' –

+0

是的,这是正确的,但我的意思是,对于单行而言,它是可以的,但是当你有很多需要写的东西时(例如,当你使用本地化的https://github.com/coderifous/jquery-localize)时,这实在是浪费时间。我的意思是,在编写一个普通对象时,只需将{fieldName:“ABC”,skill:“1002”} –