У меня есть JSONArray, возвращенный в вызове службы отдыха, как показано ниже:
[
{"REFDATA_KEY":"Rf1","REFDATA_VALUE":"Daily"},
{"REFDATA_KEY":"Rf2","REFDATA_VALUE":"Weekly"},
{"REFDATA_KEY":"Rf3","REFDATA_VALUE":"Monthly"}
]
Мне нужно преобразовать его в
[
{Value:"Rf1",label:"Daily"},
{value:"Rf2", label:"Weekly"},
{value:"Rf3",label:"Monthly"}
]
Как это преобразовать?
См. Этот ответ Json в список
Возможный дубликат Преобразование json в список объектов
Я могу использовать Джексон или Джексон любой из них




Сделать это можно очень просто.
var sd = [{"REFDATA_KEY":"Rf1","REFDATA_VALUE":"Daily"},{"REFDATA_KEY":"Rf2","REFDATA_VALUE":"Weekly"},{"REFDATA_KEY":"Rf3","REFDATA_VALUE":"Monthly"}]
var list = new Array(sd.length);
for (var i = 0; i < sd.length; i++) {
list[i] = {
Value: sd[i]["REFDATA_KEY"],
Label: sd[i]["REFDATA_VALUE"]
};
}
console.info(list);Или вы можете использовать функцию map() так:
var sd = [{"REFDATA_KEY":"Rf1","REFDATA_VALUE":"Daily"},{"REFDATA_KEY":"Rf2","REFDATA_VALUE":"Weekly"},{"REFDATA_KEY":"Rf3","REFDATA_VALUE":"Monthly"}]
var list = sd.map(obj =>{
var returned = {};
returned['Value'] = obj['REFDATA_KEY'];
returned['Label'] = obj['REFDATA_VALUE'];
return returned;
})
console.info(list);Вы можете добиться этого, используя библиотеку org.json (https://mvnrepository.com/artifact/org.json/json):
Допустим, вы получаете свой ответ в переменной responseJSONArray.
JSONArray response = [
{"REFDATA_KEY":"Rf1","REFDATA_VALUE":"Daily"},
{"REFDATA_KEY":"Rf2","REFDATA_VALUE":"Weekly"},
{"REFDATA_KEY":"Rf3","REFDATA_VALUE":"Monthly"}
]
Вы можете написать функцию reformJsonArray() следующим образом, которая берет response и возвращает List<JSONObject> по мере необходимости.
public List<JSONObject> test(JSONArray json) {
List<JSONObject> jsonArrayList = new ArrayList<>();
for (int index = 0; index < json.length(); index++) {
JSONObject element = json.getJSONObject(index);
JSONObject jsonObject = new JSONObject();
jsonObject.put("value", element.getString("REFDATA_KEY")).put("label", element.getString("REFDATA_VALUE"));
jsonArrayList.add(jsonObject);
}
return jsonArrayList;
}
Какую java-библиотеку JSON вы используете?