2017-12-21 12 views
1

エアアプリで顔認識用のKairos APIを使用しようとしています。私は、画像を送信した後、カイロスは、以下のJSONを返す:アクションスクリプト3で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」の値と「メッセージ」にアクセスする必要がありますが、関係なく、私がしようと何動作するようには思えません。 。私は約1時間周りを探しています。ネイティブ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"] 

それは動作しません。

ご協力いただきまして誠にありがとうございます。

答えて

2

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); 
} 
+0

ありがとうございました。これは動作します! –

+2

json.decodeは、AS3 CoreLibのJSONクラスに由来します。 Adobeが "parse"と "stringify"メソッドでフレームワークレベルのJSONクラスをリリースしたとき、FP 11の時代遅れです。 – Brian

関連する問題