【发布时间】:2012-03-02 09:33:18
【问题描述】:
编辑:我已经获得了这个问题的“著名问题”徽章,所以我想我会回到它,并将发生在我身上的事情贴在人们最尖端的顶部搜索它以立即获得答案。
基本上,我是 JSON 新手。 JSON 是一个对象(显然),因为它包含各种东西!所以我就像“嘿,javascript,只需弹出一个包含所有这些 JSON 数据的警报”,期望它以字符串形式给我 JSON 数据。但是 javascript 并没有这样做(这很好!),所以就像“嘿,这就是我们显示对象的方式,[object Object]”。
我可以做的是像alert(obj.DATA[0][1]) 这样的东西,它会向我展示对象的那一点。
我真正想要的是验证我是否制作了良好的 JSON 数据,我可以通过 JSON.stringify 进行检查。
无论如何,回到我们定期安排的问题!
我正在尝试通过 ajax 调用获取一些 JSON 数据,但 jQuery 似乎不喜欢我的 JSON。
如果我这样做:
function init2() {
alert("inside init2");
jQuery.ajax({
url: "/Mobile_ReportingChain.cfm",
type: "POST",
async: false,
success: function (data) {
alert(data);
var obj = jQuery.parseJSON(data);
alert(obj);
}
});
}
我从警报(数据)中得到这个:
{"COLUMNS":["MFIRST_NAME","MLAST_NAME","MMDDL_NAME","MEMPLY_ID","MAIM_NBR","EMPLY_ID"],
"DATA":[
["FNAME1 ","LNAME1 ","MI1 ","000-14-7189","026-0010","000-62-7276"]
,["FNAME2 ","LNAME2 ","MI2 ","000-01-2302","101-1850","000-14-7189"]
,["FNAME3 ","LNAME3 ","MI3 ","000-91-3619","102-1000","000-01-2302"]
,["FNAME4 ","LNAME4 ","MI4 ","000-25-9687","102-1000","000-91-3619"]
]}
JSONLint 说的是有效的 json。然而,alert(obj) 给了我这个:
[object Object]
添加dataType: "json" 或"text json" 只会让它在alert(data) 报告[object Object]。
我真的很想弄清楚这一点,有人知道为什么会这样吗?我是 jQuery 的新手,我的目标是为每一列获取一个数组。我正在使用的相同代码在看起来不同的页面上运行,这是最困扰我的。
【问题讨论】:
-
您正在将其转换为一个对象,然后使用该对象调用警报。然后它说嘿,这是一个对象。一切正常:)