编辑 :我已经用这个问题获得了“著名问题”徽章,所以我想我会回到原来的位置,然后将发生的事情贴在非常尖锐的顶部,以便人们立即搜索得到答案。
基本上,我是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);
}
});
}
我从alert(data)得到这个:
{"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"
使其报告[object Object]
为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));
问题内容: 这实际上有什么区别? 这工作正常: 但以下操作无效: 这是为什么? 问题答案: 那是因为双引号被认为是标准的,而单引号却没有。这并不是真正针对JQuery,而是关于JSON标准。因此,无论使用JS工具包,您都应该期待相同的行为。 值可以是带双引号的字符串,也可以是数字,也可以是true或false或null,或者是对象或数组。这些结构可以嵌套。
描述 (Description) jQuery.getJSON( url, [data], [callback] )方法使用GET HTTP请求从服务器加载JSON数据。 该方法返回XMLHttpRequest对象。 语法 (Syntax) 以下是使用此方法的简单语法 - <i>$</i>.getJSON( url, [data], [callback] ) 参数 (Parameters) 以下
问题内容: 有人可以向我解释为什么返回类型 只是返回类型 我不明白为什么地图会映射到一个以上的值。TIA。 问题答案: 它返回具有 相同 名称的控件的所有参数值。 例如: 要么 任何选中/选择的值都将以以下形式出现: 对于表中的多个选择它也很有用: 与…结合
我必须编写一个程序,其中方法返回读取的正数之和,并将从用户那里读取输入,直到输入零。 到目前为止,我没有计算正数的总和,我需要一些帮助,请。 以下是我目前掌握的情况: (请注意,您得到了扫描程序,不要使用system.in)-从用户读取,直到给定0,并返回读取的正数的和。 示例: ♦用户输入:0=>返回0 ♦用户输入1 2 3 0=>返回6(1+2+3) ♦用户输入1-2 3 0=>返回6(1+3
问题内容: 例如我有一个功能: 我怎样才能返回AJAX后得到的? 问题答案: 因为请求是异步的,所以您无法返回ajax请求的结果(而同步ajax请求是一个 糟糕的 主意)。 最好的选择是将自己的回调传递给f1 然后,您将像这样致电:
问题内容: 如何使用JQuery.getJSON()读取当前目录中的文件? 我正在尝试一些简单的操作(将data.json文件与html文件放在同一目录中): 我得到错误: XMLHttpRequest无法加载file:/// C:/Projects/test/data.json。Access-Control-Allow- Origin不允许使用Origin null。 我尝试了各种路径组合,但似