Get und parse JSON Actionscript
Was ich machen möchte, ist eine get-Anfrage an diese URL: http://api.beatport.com/catalog/3/most-popular, die sollten wieder einige JSON-und dann analysieren, bestimmte Informationen aus.
Wie würde ich gehen über das tun dies in Actionscript 3? Ich bin mehr damit beschäftigt, herauszufinden, wie man die Daten zu füttern, um einen JSON-parser, anstatt das Parsen von JSON, da es scheinbar viele Fragen über Parsen von JSON. Der Grund, warum ich dies tun wollen, in AS3 ist, dass ich eine 3D-flash-Visualisierung und ich möchte diese Daten abrufen, analysieren die relevanten bits, und dann Anzeige der analysierten bits in der Visualisierung.
Ich bin offen für andere Wege, dies zu tun, kann leicht integriert werden, die neben Flash AS3, wenn es ist ein einfacher Weg, es zu tun in einer anderen Sprache.
InformationsquelleAutor Saliceran | 2012-04-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie die
corelib.swc
zu Ihrem library-Pfad.Importieren Sie die JSON-Bibliothek:
import com.adobe.serialization.json.JSON;
Rufen Sie Ihren service-mit code so etwas wie dieses:
Analysieren die Ergebnisse mit
JSON.decode(results)
.as3corelib hier gepflegt wird: https://github.com/mikechambers/as3corelib#readme.
Schritt #3 aktualisiert, um zu zeigen, wie man JSON von einem service.
JSON-decodiert in Objekte in AS3. Gibt es assoziative arrays, die mit dieser syntax: {someProp:someValue, someOtherProp:someOtherValue und regelmäßigen arrays mit folgender syntax: [Wert, someOtherValue].Benötigen Sie zu Fuß die Struktur mit einer Kombination von for-Schleifen. Durchlaufen Eigenschaften eines Objekts oder die dazugehörige array mit der for-in-Schleife: for (var prop:String, in object) {trace (object[prop]}. Zum Durchlaufen eines Arrays mithilfe einer for-each-Schleife: for each (var arrayItem:Objekt in someArray) {trace (someItem.someProperty)}. Objekt.hasOwnProperty("someProp") bestätigt eine Eigenschaft vorhanden ist.
Wenn Sie Kommissionierung eine einzelne Eigenschaft, Sie können es in verschiedenen Arten: (ausgehend von einem top-level-Objekt): myResult[someProperty][someProperty][someProperty], oder wenn einer der Knoten ist ein array, können Sie mischen in der array Zugriff verwendet werden: myResult[someProperty][myIndex][someProperty]. Wie, myResult["metadata"]["propPointsToArray"][3]["arrayItemProp"].
[Objekt Objekt] ist, was die toString () - gibt für ein Vanille-Objekt. Wenn Sie möchten, Durchlaufen Sie die Requisiten selbst, trace out prop in einer for-in-Schleife. Wenn Sie Durchlaufen wird, der Wert der Eigenschaft an die Spitze des Baumes, object[prop] wird höchstwahrscheinlich ein anderes Objekt, anstatt ein string, boolean oder number.
InformationsquelleAutor Matt Garland
Alternativ, wenn Sie mit Flash-Player 11 oder AIR 3.0 oder höher können Sie die eingebaute JSON-Objekt zu Dekodieren Sie Ihre JSON. Es ist ein top-level-Objekt, so dass Sie nicht selbst importieren zu müssen, nichts, nur tun:
Finden Sie unter: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/JSON.html
InformationsquelleAutor plemarquand
Glaube ich, dass die as3corelib hat ein JSON - serializer und deserializer
Können Sie diese verwenden, anstatt neu zu erfinden das Rad und schreiben Analyselogik von neuem.
InformationsquelleAutor Pranav Hosangadi