Dietrich
Dietrich

Reputation: 103

How to parse JSON (AS3)

How to parse downloaded .json file with a string inside it to a string variable? With as3corelib.swc.

Upvotes: 9

Views: 30060

Answers (3)

Jairo Rodriguez
Jairo Rodriguez

Reputation: 396

actionscript 3.0 in Adobe Animate,

var obj:Object = [
    {
        "capital":"Santiago",
        "corregimientos":[
            {
                "santiago": "Capital of the province of Veraguas.",
                "habitantes":"It has an approximate population of 50,877 inhabitants (2014).",
                "area": "44.2 km²",
                "limits": "It limits to the north with the district of San Francisco, to the south with the district of Montijo, to the east with the district of Atalaya and to the west with the district of La Mesa."
            }
        ]
    }
];

trace("Capital " + obj[0].capital+" Corrections: "+obj[0].corregimientos[0].santiago);

Upvotes: 0

kirushik
kirushik

Reputation: 1314

And here we go, full-working example from my current project:

protected function loadConfigFromUrl():void
{
    var urlRequest:URLRequest  = new URLRequest(CONFIG_URL);

    var urlLoader:URLLoader = new URLLoader();
    urlLoader.addEventListener(Event.COMPLETE, completeHandler);

    try{
        urlLoader.load(urlRequest);
    } catch (error:Error) {
        trace("Cannot load : " + error.message);
    }
}

private static function completeHandler(event:Event):void {
    var loader:URLLoader = URLLoader(event.target);
    trace("completeHandler: " + loader.data);

    var data:Object = JSON.parse(loader.data);
    trace("The answer is " + data.id+" ; "+data.first_var+" ; "+data.second_var);
    //All fields from JSON are accessible by theit property names here/
}

Upvotes: 19

null
null

Reputation: 1197

The function for parsing JSON using as3corelib ( ie not the native JSON class ) is 'decode()'

JSON.decode( inputJson );

If the input json is properly encoded, strings should be available inside the resulting object. You may have trouble parsing strings if they have not been correctly escaped, but that is a problem with the input data.

Upvotes: 3

Related Questions