2017-01-23 6 views
1


я получаю ответ сервера, как это:Json_ Значение ключа зависит от значения других ключевых

{ 
    "action":"add", 
    "domain":"dm1", 
    "params":{ 
     "add1":"v1", 
     "add2":"v2", 
     "add3":"v3" 
    } 
} 

И у меня есть много домена (15) и каждый домен имеют мульти действия, и ключ в значении ключа «params» («add1», «add2», ...), которые зависят от значения значения действия («добавить», «удалить», ...). Итак, я хочу спросить, как я могу получить значение параметра от сервера, а затем нажать модель с помощью Gson. Я Android.
Заранее благодарим!

+0

Сколько значений в 'params'? Дайте еще один пример, чтобы дать понять. И вы попробовали? Вставьте свой код, если вы это сделали. – TruongHieu

+0

@TruongHieu, значение params - json, а числовой ключ в том, что json не фиксирован. Это зависит от значения «действия». Я смущен, и я не знаю, как его решить. – TedVN

ответ

0

Вы можете разобрать ваш params ключ как JSONObject и перебирать все свои ключи, чтобы получить значение этих динамических ключей. Используйте JSONObject.keys, чтобы получить Iterator для ключей. Этот ответ также должен помочь вам - How to parse a dynamic JSON key in a Nested JSON result?

+0

Спасибо !!! Это помогло мне. – TedVN

0

Я не очень уверен. Какова ваша цель. Но вы можете сделать, как показано ниже

{ 
    "action":"add", 
    "domain":"dm1", 
    "params":[ 
    { "add":"v1" }, 
    { "add":"v2" }, 
    { "add":"v3" }  
    ] 
}