我从后端服务获取此JSON对象。
[{"date":"2014-02-06","fontSize":14,"bgColor":"#000000","fontType":"Arial","userId":1012}]
我想检索json对象中的元素,并能够在我的代码中使用它。但是在使用eval函数后我得到了undefined
例如:var date_time = data.date_time;
在这里,我undefined
获得了data.date_time
我尝试过以下的东西。但我得到了undefined
。请给出解决方案帮助:)
我已附上以下代码。我是javascript / json的初学者。如果问题是该死的白痴sry;)
代码:
var getUsersettings= "userId="+userId+"&sessionId="+sessionId;
$.ajax({
type:"POST",
url: fetchUserSettings,
async: false,
cache: false,
dataType: "json",
data: getUsersettings,
error : function(data) {
console.log("settings lost while fetching !!!!!");
},
success : function(data) {
console.log("settings fetched !!!!!");
if(data != undefined && data.length > 0){
console.log(data);
// var obj = JSON.parse(data);
var obj = JSON.stringify(data);
console.log(obj);
// obj = jQuery.parseJSON(obj);
/* var data =eval('(' +data + ')');
console.log(data);
*/
data = eval('('+obj+')');
console.log("obj : "+data);
var date_time = data.date_time;
var font_size = data.fontSize;
var bg_Color = data.bgColor;
var font_type = data.fontType;
data.userId;
// console.log("---"+date_time+"-------"+font_size+"------"+bg_Color+"----"+font_type+"------"+data.userId);
}
else{
console.log("no data abt fetching");
}
},
complete: function(xhr, textStatus) {
console.log("Status Code: " + xhr.status);
}
});
答案 0 :(得分:0)
所以
我对你在代码中所做的事情感到有点困惑。
但jQuery ajax正在将已解析的json作为plainobject返回。
我认为你错过的是,你的plainobject(json)的第一级是一个数组。 首先,您必须使用
访问第一个数组项data[0]
之后,其余部分真的很容易。