BEARBEITEN: Ich habe mit dieser Frage das Abzeichen “berühmte Frage” bekommen, also dachte ich, ich komme darauf zurück und schreibe das, was mir passiert ist, ganz oben auf, damit die Leute, die es suchen, sofort eine Antwort erhalten.
Im Grunde war ich neu bei JSON. JSON ist (offensichtlich) ein Objekt, da es alle möglichen Dinge enthält! Also dachte ich: “Hey, Javascript, öffne einfach eine Warnung mit all diesen JSON-Daten”, in der Erwartung, dass mir die JSON-Daten als String zurückgegeben werden. Aber Javascript macht das nicht (was gut ist!), also war es wie “Hey, so zeigen wir Objekte an, [object Object]”.
Was ich hätte tun können, ist so etwas wie alert(obj.DATA[0][1])
und es hätte mir diesen Teil des Objekts gezeigt.
Was ich wirklich wollte, war zu überprüfen, ob ich gute JSON-Daten erstellt habe, mit denen ich hätte überprüfen können JSON.stringify
.
Wie auch immer, zurück zu unseren regelmäßigen Fragen!
Ich versuche, einige JSON-Daten mit einem Ajax-Aufruf abzurufen, aber jQuery scheint mein JSON nicht zu mögen.
wenn ich sowas mache:
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);
}
});
}
Ich bekomme dies von der Warnung (Daten):
{"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"]
]}
was JSONLint als gültiges JSON bezeichnet. alert(obj) gibt mir dies jedoch:
[object Object]
hinzufügen dataType: "json"
oder "text json"
lässt es einfach berichten [object Object]
beim alert(data)
.
Ich würde das wirklich gerne herausfinden, weiß jemand warum das so ist? Ich bin ziemlich neu bei jQuery, mein Ziel ist es, ein Array für jede der Spalten zu erhalten. Derselbe Code, den ich verwende, hat auf einer anderen Seite funktioniert, wie es aussieht, was mich am meisten stört.
Sie konvertieren es in ein Objekt und rufen dann Alert mit diesem Objekt auf. Es sagt dann hey, das ist ein Objekt. Alles funktioniert wie es soll 🙂
– Kory Hodgson
9. Februar ’12 um 21:22