2017-08-03 14 views
-2

私のJSON応答は以下のように来る:解析JSON埋め込み構造

"channels": { 
      "BB0AC397-78AA-41C9-818A-A52A6BC81E9B": { 

       "id": "BB0AC397-78AA-41C9-818A-A52A6BC81E9B", 
       "name": "MyVABotChannel", 
      }, 
      "94612845-7868-4B1C-8E58-7BD88869B197": { 

       "id": "94612845-7868-4B1C-8E58-7BD88869B197", 
       "name": "System_Bot_Test", 


      } 

私の要件は、名前はMyVABotChannelある構造のIDを抽出することです。 IDは固定ではなく、サーバーから来るときはランダムです。どのように私は特定の名前に対応するIDを見つけるのですか?

+2

どの言語で?どのようなJSONライブラリですか? – Dai

答えて

1

javascriptの

を想定すると、このコードは、 "MyVABotChannel"

// response = JSON 
var values = Object.values(response.channels); 
var botChannels = values.filter(channel => channel.name === "MyVABotChannel"); 

で複数のエントリを想定していますこのスニペットは、「MyVABotChannel」を持つ1つのエントリを想定しています。

// response = JSON 
var values = Object.values(response.channels); 
var botChannels = values.find(channel => channel.name === "MyVABotChannel"); 
0

それはそのようにのように、JavaScriptやJSON DOMを公開する任意のライブラリになら:

var channels = ... 

var key = Object 
    .getKeys(channels) 
    .find(e => chanels[e].name == "MyVABotChannel"); 

if(key == null) { 
    console.log("Couldn't find element."); 
    return; 
} 

var result = channels[key].id; 
console.log(result); 
関連する問題