- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
编辑:我已经获得了这个问题的“著名问题”徽章,所以我想我会回到它,并将发生在我身上的事情贴在人们最尖端的顶部搜索它以立即获得答案。
基本上,我是 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 )
.
我真的很想弄清楚这一点,有人知道为什么会这样吗?我是 jQuery 的新手,我的目标是为每一列获取一个数组。我正在使用的相同代码在看起来不同的页面上运行,这是最困扰我的。
最佳答案
alert()
函数只能显示一串文本。作为它的唯一参数,它需要一个字符串或一个对象。 对象会被转换成可以显示的字符串。
通过 jQuery 获取 JSON 时,$.ajax()
方法会自动解析 JSON 并将其转换为 JavaScript 对象。因此,您的 data
变量是一个 JavaScript 对象,而不是人们可能期望的 JSON 字符串。
由于 alert()
只能显示字符串,当你试图提醒你的 data
对象时,你的对象将被转换成它的字符串表示。 JavaScript 对象的字符串表示是 [object Object]
。
出于调试目的,您可以改用 console.log(data)
。然后,您可以通过浏览器开发人员工具中的控制台检查对象及其内容。
function init2() {
jQuery.ajax({
url: "/Mobile_ReportingChain.cfm",
type: "POST",
dataType: "json",
async: false,
success: function (data) {
console.log(data);
}
});
}
如果您出于某种原因仍想提醒 JSON 数据,则必须将您的 data
对象转回 JSON 字符串。为此,您可以使用 JSON.stringify
:
alert(JSON.stringify(data));
关于json - jQuery.getJSON 和 jQuery.parseJSON 返回 [object Object]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9218900/
我正在 jsoning 一个 C# const 类,获取名称-值对。我需要在客户端通过字符串名称访问它们,例如 return $.parseJSON(constantClass).'property'
我在 ASP.NET Web 表单应用程序中有一个回调函数,我试图返回一些方便的 JSON,以便 javascript 函数管理数据。我能够发回包含所有数据的 JSON 字符串,但现在我尝试获取以下结
在一个js文件中,我有下面的代码。 用这个语法没问题 $(jQuery.parseJSON(category)).each(function() { $(selector).append($
我从 test.php 中的 mysql 查询得到一个数组 $rows =Array ( [0] => Array ( [name] => nikhil ) [1] => Array ( [name]
我正在尝试从我的 ERP 平台(用 C# 编写的 API)解析一些数据。当我尝试解析数据中包含的信息时,我得到了未定义的结果。我一直在寻找一些答案,我什至可以想出另一种方法来做到这一点: for(va
我正在尝试从 span 元素上的 html data 属性发送数据并使用 Ajax 接收它,然后使用 php 和 mysql 处理它并返回新的我在 html 中的数据属性的值,但我收到一个错误,提示“
有人可以向我解释一下为什么包含双引号字符串的 json 会破坏 $.parseJSON 吗? 这有效: [{"type":"message","content":{"user":"tomasa", "
我有一个很长的 json 数组,需要发送到 html5 移动应用程序并进行解析。整个数组大约有 700kb(压缩到 150kb),目前长度为 554976 个字符。但随着时间的推移它会增加。 使用 j
jsfiddle link var x = { "Item1" : 1, "Item2" : { "Item3" : 3 } } alert(JSON.s
我正在从 Web 服务获取 JSON。当我使用 jQuery.parseJSON 时,由于某种原因它是空的。这是 JSON 的示例(使用 JSON.stringify(msg) 获取) {"0":{"
我使用ajay从服务器获取一些JSON数据,通过将数组传递给PHP的json_enocode(),它返回一个有效的JSON(在许多在线JSON调试器上检查过)。但是 JS 的 $.parseJSON(
我一直在使用 jQuery 的 parseJSON 和 simplejson,但我似乎无法弄清楚为什么我无法打印或比较我的变量。 我知道我的 Python return 语句是正确的,因为如果不是正确
我从服务器获取此 JSON "{"name": "abcd,e"abc"ssfgh", "location": {"latitude": 21.1484436189,"longitude": 79.0
我试图用 jquery 显示 json 数组的内容,但它返回此错误: SyntaxError: JSON.parse: unexpected character at line 1 column 2
我正在尝试将字符串解析为对象。我查看了以下 jQueryparseJSON 文档 link我还包含了 jquery 库,所以我知道它不是那样的。 这是我到目前为止的代码 var str = "{'va
我遇到了一个更大的问题,并将其缩小到这个范围。 $.parseJSON() 无法正确解析从我的服务器返回的 JSON。 我相信它与类似的模式有关(我不确定这是否是 javascript 对象的正确术语
我得到一个表示 JSON 对象的字符串(根据 JSONLint,它是一个有效的 JSON 字符串)。 当我打电话时: console.log(JSON.parse(datasource_graphe_
我在用 jQuery parseJSON 函数做一些事情。 这是代码,它不起作用 var obj = $.parseJSON("{'w':'w-1'}"); alert(obj.w); 调试了一段时间
在我的 Firebug 中,我看到服务器响应: {"status":"Results Found","errorcode":"0","result":[{"name":"test","id":"1"}
我正在尝试使用 Google 图表 API 绘制折线图,并使用 PHP codeignitor 从 mySQL 数据库检索数据。 到目前为止,我能够检索数据,但我无法解析 Json 数据并将它们填
我是一名优秀的程序员,十分优秀!