AS3 JSON-parsing
Ich habe ein bisschen ein dilemma. Ich habe ein JSON-Objekt mit einem format, das ich bin nicht vertraut mit (beginnt mit einer Reihe []
statt ein Objekt {}
) und Frage mich, wie könnte ich parse es in AS3. Das Objekt sieht wie folgt aus:
[
{
"food": [
{
"name": "pasta",
"price": 14.50,
"quantity": 20
},
{
"name": "soup",
"price": 6.50,
"quantity": 4
}
]
},
{
"food": [
{
"name": "salad",
"price": 2.50,
"quantity": 3
},
{
"name": "pizza",
"price": 4.50,
"quantity": 2
}
]
}
]
Ich weiß wirklich nicht, wie ich jedes Lebensmittel array, und jedes Objekt innerhalb es. Jede Hilfe wäre sehr geschätzt werden! Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
von flash player 11 und sdk 4.6 gibt es native Unterstützung für json. Um es zu verwenden, sollten Sie ändern
zu
während JSON nicht von der as3corelib-aber aus dem sdk selbst. Ziemlich viel schneller 😉
var foods:Array
sollte geändert werden, umvar foods:Object
. Wenn ich versuchte, mit einer Array-es sagte der Typ war nicht gültig ist für das, was JSON.analysieren gibt.Müssen Sie verwenden das JSON-Objekt-Klasse (unten link)
http://code.google.com/p/as3corelib/
und dann sowas..
Interessante datastructure... dies sollte es tun:
War ich auf der Suche nach einer alternative zu einer Bibliothek und fand die Technik hier. Ich nehme an, dass diese arbeiten im Rahmen der op (die beantwortet wurde vor Jahren natürlich), da es nicht erforderlich, einen Rückgabetyp des Objekts. Dies funktioniert gut für das, was ich versuche zu tun, wenn ich fand diese post und ich fand die Lösung ziemlich elegant für flash-basiert im browser.
ExternalInterface.call("function(){return JSON.decode('" + data.replace(/(['\\])/g, "\\$1"); + "');}")
ExternalInterface.call('JSON.parse', data)
sollte es tun 🙂