我想解析我的Flex项目中的JSON文件。我包含as3corelib.swc和导入的com.adobe.serialization.json.JSON,但JSON.decode()函数仍然返回null。可能是什么问题?解析ActionScript中的JSON(Adobe Flex)。 JSON.decode(string)返回null
[Embed(source="assets/test.json",mimeType="application/octet-stream")]
private var json_file:Class;
public function load():void
{
var bytes:ByteArray = new json_file();
var json:String = bytes.readUTFBytes(bytes.length);
trace(json); // String is OK!
var arr:Array = (JSON.decode(json) as Array);
trace(arr); // Array is null!
}
我也试过:
var str:String = (JSON.decode(json) as String);
trace(arr); // null!
和:
var arr:Object = JSON.decode(json); // [object Object]
trace(arr.toString()); // empty string
感谢您的时间。
可能是因为存在不良JSON,或者不使用正确。 JSON使用键值对,并且*总是*解码成具有属性的对象。您应该将解码对象作为Object.someKey访问以获取数据。 – 2011-06-15 17:45:08
JSON很好。我用验证器检查了它。 – Jacek 2011-06-15 17:55:10
你说得对J_A_X。我可以通过以下方式访问元素:trace(arr.GlossEntry [0] .Acronym.toString()); – Jacek 2011-06-15 17:58:03