Я хотел поместить массив значений внутри JSONObject, и он должен выглядеть так, когда я сохраню его в базе данных:
{
"specName":"Material",
"specValue":"Fabric",
"specName":"Height",
"specValue":
['
'{
"m",
"cm",
"mm"
},
']
}';
Дело в том, что пользователь должен указать атрибут, скажем, например «Высота» и его допустимые типы / единицы измерения, например, «метр, сантиметр и миллиметр» . Мой текущий код ниже:
JSONArray itemTypeArray = new JSONArray();
itemTypeArray.put(specValue);
JSONObject itemTypeObj = new JSONObject();
itemTypeObj.put("specName", specName);
itemTypeObj.put("specValue", itemTypeArray);
itemType.setItemSpecs(itemTypeObj);
Но когда это сохраняется в базе данных, это не так, как я ожидал, и мне трудно искать ответы, и мое последнее средство - задать его здесь. Текущее значение, которое сохраняется в базе данных, выглядит следующим образом:
{"specName":"Material,Height","specValue":["Fabric, m, cm, mm"]}
Все складывается в одно поле.
Мой HTML код:
<div>
<label>Type: </label>
<input type="text" th:field="*{typeName}" />
</div>
<div>
<div class="specFields-wrapper">
</div>
<button type="button" class="c-button submit" onclick="addSpec();">Add Specification</button>
</div>
<script text="text/javascript">
function addSpec() {
let specFieldLabel = '<span>Label: <input type="text" name="specName"></span>\r\n';
let specFieldValue = '<span>Value: <input type="text" name="specValue"></span>\r\n';
document.querySelector('.specFields-wrapper').innerHTML += (specFieldLabel+specFieldValue)+'<br>';
}
</script>
Любая помощь приветствуется. Заранее спасибо! :)