如何解析 Actionscript 3 中的 json 对象?
How do parse a json object in Action Script 3?
我正在尝试在我的 air 应用程序中使用 Kairos API 进行面部识别。在我发送图像后,kairos returns 以下 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);
}
我正在尝试在我的 air 应用程序中使用 Kairos API 进行面部识别。在我发送图像后,kairos returns 以下 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);
}