2017-08-29 9 views
1

JSではなくC#に慣れていますので、私が無知であれば少しスラックをカットしますが、API.aiから送信されたリストを使ってforeachループを実行しようとしています。固定されているかどうかはわかりませんJavascriptで2つの文字列の区別があるかどうかを判断することができます。api.aiでは、 'isList'パラメータがwebhookに送信されるとき、どの形式ですか?

どうすればいいですか?

答えて

1

私が間違っている場合は私を修正しますが、JavaScriptにはC#のものに似たList/Arrayデータ型がありません。しかし、配列とオブジェクトがあり、あなたのAPIコールはオブジェクトの配列を返す可能性が高いですが、API.aiに出くわしたことはありませんので、私はそれに手を差し伸べません。

オブジェクトがJSON形式であるため、配列内のオブジェクトの数は.length()の配列で確認できます。あなたがループするための簡単な操作を行うことができ

[{ 
    title : "Title 1", 
    context : "Context 1" 
}, 
{ 
    title : "Title 2", 
    context : "Context 2" 
}] 

:このようなAPIからのサンプル応答で

私はあなたが与えられたのプロパティにアクセスすることができ、response[i]を残したか

for(var i = 0; i < response.length(); i++){ 
    response[i] // Object 
} 

注意response[i].titleまたはresponse[i].contextなどのオブジェクトです。

注:&を先頭にして、返された値をループ前にJSONとして解析する必要があります。これらはすべてコードによって異なります。

注目に値する編集:レスポンスが割り当てられたオブジェクトの配列を持つプロパティが含まれている場合があり

、オブジェクトはのようになります。内側の配列(小道具フィールド)を反復処理するには

[{ 
    title : "Title 1", 
    context : "Context 1", 
    prop : [{ val : "val 1", name : "val 1" }] 
}, 
{ 
    title : "Title 2", 
    context : "Context 2", 
    prop : [{ val : "val 2", name : "val 2" }] 
}] 

A上記forループの簡単な変更:

for(var i = 0; i < response.length(); i++){ 
    for(var j = 0; j < response[i].prop.length(); j++){ 
     response[i].prop[j] // Inner Object 
    } 
} 
+0

ありがとうございます。私はJSONファイルを送ってきましたが、あなたはそれがイテレーションを行うためのシンプルな配列だと思います。 – doggoz

関連する問題