-3
私はAPIリクエストを処理しています。ここでは、1つのjsonオブジェクトを含む配列であるhttp.responseを取得します。私はそれを解析したり、このコードで私にそれを文字列化しようとすると、しかし:JavaScriptの配列レスポンスを解析します。
var response = http.response;
try{
var json = JSON.stringify(response);
logInfo("status: " + json.status);
} catch(e) { logInfo(e); }
...私はこのログanwserを得る:status: undefined
どのように値を定義していますか?値は私のウェブページ上のユーザーから取得され、変更することができます。
これは私が要求からGET応答である:
[
{
"status": "DONE",
"plannedDeliveryDate": "2017-06-27",
"orderId": 2112312,
"userId": 123123
}
]
これは私のGETコードの残りの部分である:
loadLibrary("cus:json3.js");
var query = xtk.queryDef.create(
<queryDef operation="select" schema={vars.targetSchema}>
<select>
<node expr="@userNumber"/>
</select>
</queryDef>
);
var res = query.ExecuteQuery();
//Buffer the auth key
var buffer = new MemoryBuffer();
buffer.fromString("username:password", "utf-8");
for each (var line in res) {
var http = new HttpClientRequest();
http.header["Authorization"] = "Basic " + buffer.toBase64(); //Basic Auth
this.baseURL = "https://url..../data?user_id=" + [email protected];
http.url = this.baseURL;
http.method = "GET"; //The GET request
http.execute();
var response = http.response;
try{
var json = JSON.parse(response);
logInfo("status: " + json[0].status);
} catch(e) { logInfo(e); }
}
JSONを解析したいのであれば、なぜ 'string 'で' parse'を使わないのですか?また、残りのフェッチコードを見る必要があります。これは、非同期操作からデータを返すことが最も一般的な問題です。 – Andy
@Andyインデックスを持たない配列オブジェクトにアクセスしようとしても、それはまだ機能しません。 –
データがパースされていないと、データにアクセスするコードは動作しません。 – Andy