2017-01-15 14 views
0

Ich bin noch neu, JSON-Daten zu bekommen und zu manipulieren, sei einfach mit mir. Ich scheine einen erfolgreichen Aufruf der Daten zu machen, aber das Auflisten der Felder kommt mit [Objekt] anstelle der tatsächlichen Felder zurück. Es ist wahrscheinlich etwas Dummes, aber ich habe jede Variation, die mir einfällt, versucht, die Felder zu spezifizieren, und es verursacht nur Fehler in der Konsole.Ich kann diese JSON-Daten einfach nicht erscheinen lassen

können Sie die JSON-Daten sehen hier: https://api.myjson.com/bins/10h45j.json

Jede Idee, was ich falsch hier?

$(document).ready(function(){ 
 
    $("button").click(function(){ 
 
     $.getJSON("https://api.myjson.com/bins/10h45j.json", function(data){ 
 
      $.each(data.Luthiers, function(i, field){ 
 
       $("#cheetos").append(field + "<br />"); 
 
      }); 
 
     }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button>Get JSON data</button> 
 

 
<div id="cheetos"></div>

+0

Hier ist eine alternative JSON mit einem Array: https://api.myjson.com/bins/hpylj.json – Joel

Antwort

1

Sie auch diese versuchen:

$(document).ready(function(){ 
    $("button").click(function(){ 
     $.getJSON("https://api.myjson.com/bins/10h45j.json", function(data){ 
      $.each(data.Luthiers, function(field){ 
       $("#cheetos").append(field + "<br />"); 
      }); 
     }); 
    }); 
}); 
+0

Danke - das ist, was ich gesucht habe! Ich versuche jetzt herauszufinden, wie ich die einzelnen Felder innerhalb jedes Elements aufrufen soll. Ich habe das Gefühl, dass meine JSON-Datei mit Arrays oder Ähnlichem formatiert werden muss. Alle Elemente haben eindeutige Namen (und Leerzeichen enthalten), so kann ich nicht zurück gehen und geben Luthiers. (Artikel) .URL Bin ich falsch formatiert für die Erstellung einer richtigen Datenbank, die jedes Element nach Dingen gefiltert haben kann wie Land, Stadt, etc? – Joel

+0

@delano: Sie könnten eine Erklärung hinzufügen, welche Änderung Sie vorgenommen haben, damit es funktioniert. –

+0

Ich denke, ich habe es jetzt damit arbeiten: $ (Dokument) .ready (Funktion() { $ .getJSON ("https://api.myjson.com/bins/1ew0pj.json", Funktion (data) { $ .each (. Daten, Funktion (i, Feld) { $ ("# show-data") anhängen (field.NAME + "
"); }); }); }); – Joel

2

hinzufügen JSON.stringify, um, na ja, "stringify" das Objekt JSON. Versuchen Sie das Snippet unten, sehen Sie Ihre Daten, um die Art und Weise gedruckt wird Sie erwarten :)

$(document).ready(function(){ 
 
    $("button").click(function(){ 
 
     $.getJSON("https://api.myjson.com/bins/10h45j.json", function(data){ 
 
      $.each(data.Luthiers, function(i, field){ 
 
       $("#cheetos").append(JSON.stringify(field) + "<br />"); // add JSON.stringify() 
 
      }); 
 
     }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button>Get JSON data</button> 
 

 
<div id="cheetos"></div>

+0

Vielen Dank! Das hat funktioniert, aber die Daten haben alle Felder in einem Block zurückgegeben. Ich arbeite daran, Sortierungen zu erstellen, die sortierbar sind. Daher muss ich herausfinden, wie die Elemente aufgelistet werden und dann ihre jeweiligen Felder [URL, Name usw.]. – Joel

1

Sie können etwas, was versuchen wie diese und hier können Sie die einzelnen Elemente auch abholen.

$(document).ready(function(){ 
 
    $("button").click(function(){ 
 
     $.getJSON("https://api.myjson.com/bins/10h45j.json", function(data){ 
 
      $.each(data.Luthiers, function(i, field){ 
 
       $.each(field, function(j, subFields){ 
 
       \t $("#cheetos").append(subFields + "<br />"); 
 
      }); 
 
      }); 
 
     }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button>Get JSON data</button> 
 

 
<div id="cheetos"></div>

Verwandte Themen