У меня есть поля в моем HTML, скажем, например, 2 строки полей, которые я oop накладываю на свой контроллер.
Я хочу, чтобы результат был примерно таким:
{
"specifications":
[
{
"name" : "height",
"value" : "cm"
},
{
"name" : "weight",
"value" : "kg"
}
]
}
Но каждый раз, когда я использую свой код ниже, я получаю только последнюю строку итерации, сохраненную в моем массиве JSONArray
JSONObject itemTypeObj = new JSONObject();
JSONArray itemTypeArray = new JSONArray();
JSONObject itemTypeSpecs = new JSONObject();
ArrayList<String> values = new ArrayList();
for(int x = 0; x < specName.length; x++){
itemTypeSpecs.put("specName", specName[x]);
if (specValue[x].contains(",")) {
for (String v : specValue[x].split(",")) {
values.add(v.trim());
}
itemTypeSpecs.put("specValue", values);
} else {
itemTypeSpecs.put("specValue", specValue[x]);
}
values.clear();
itemTypeArray.put(itemTypeSpecs);
}
itemTypeObj.put("specifications", itemTypeArray);
Результат становится таким, вместо того, который я ожидал сверху
{"specifications":
[
{
"name":"Weight",
"value":"kg"
},
{
"name":"Weight",
"value":"kg"
}
]
}
Я не могу найти причину, по которой он получает только последнюю строку. Любая помощь приветствуется. Спасибо.