如何解析Actionscript 3中的json对象?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解析Actionscript 3中的json对象?相关的知识,希望对你有一定的参考价值。

我想在我的空气应用程序中使用Kairos API进行面部识别。发送图像后,kairos返回以下JSON:

{"images":[{"transaction":{"status":"failure","topLeftX":106,"topLeftY":126,"gallery_name":"Faces","eyeDistance":42,"height":98,"width":98,"face_id":1,"quality":-1.53973,"message":"No match found"}}],"uploaded_image_url":"https://kairos-east-id-images.s3.amazonaws.com/prod/c6d565457/recognize/Faces/d2b1142f2134232349ewer8acb825c87e909f299ab1_5a234XXXXXX.jpg?X-Amz-Content-Sha246=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=XXXXXXXXXXXXXX-east-1%2Fs3%2XXXX_request&X-Amz-Date=2017122rrtdfg158Z&X-Amz-SignedHeaders=host&X-Amz-Expires=XXXX&X-Amz-Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

我需要访问“topLeftX”,“topLeftY”和“message”的值,但无论我尝试它似乎都不起作用。我一直在寻找大约一个小时。我已经尝试过本机JSON解析器和ascorelib JSON解析器。

我尝试了以下方法:

var rawData:Object = JSON.decode(e.target.data);
        for ( var object:Object in rawData ){
           trace(object.transaction);
        }

我收到此错误:

Property transaction not found on String and there is no default value.

我尝试了不同的属性名称,但我得到了同样的错误。我也尝试过切断其他方法。如,

rawData["transaction"][0]["topLeftX"]

它不起作用。

任何帮助是极大的赞赏。

答案

我在JSON上没有解码功能。只是一个JSON.parse和一个JSON.stringify然而,对你来说应该是什么。

var jsonObj = JSON.parse(yourdata); // or JSON.decode if you AS version is older
for ( var i = 0 ; i < jsonObj.images.length ; i++ ){
   trace(jsonObj.images[i].transaction.status);
}

以上是关于如何解析Actionscript 3中的json对象?的主要内容,如果未能解决你的问题,请参考以下文章

ActionScript 3 错误 JSON 解析输入无效

在 ActionScript 2 中解析 JSON

如何通过D3.js中的JSON文件解析按键对对象进行排序[重复]

如何在 ActionScript 3 中获取网页的输出

如何在actionscript 3.0中对钻石,梅花,黑桃,心等卡片进行排序

如何实现 JSON 解析代码以获取对 NSArray 的响应?