问题:我的JSON不实用,我想改变它。正如您所看到的,我的JSON看起来很奇怪,但不知何故它是有效的JSON(使用JSONLint检查)。我有输入字段,这些字段位于具有自己唯一ID的容器中(它们递增)。我想知道是否可以将插入到输入字段中的数据一起发送,因此当我获取它时,它将保持在一起。
我的JSON现在看起来如何:
{
"main_object": {
"id": "new",
"formData": {
"language": "nl_NL",
"getExerciseTitle": "ExampleForStackOverflow",
"question_takeAudio_exerciseWord[0": "ExampleForStackOverflow",
"Syllablescounter[0": "Example",
"Syllablescounter[1": "Example1",
"question_takeAudio_exerciseWord[1": "SecondExampleForStackOverflow",
"Syllablescounter[2": "Second",
"Syllablescounter[3": "Example"
}
}
}
我正在寻找并希望实现的目标:
{ "main_object":
{
"id": "new",
"formData": [
{
"language": "nl_NL",
"getExerciseTitle": "ExampleForStackOverflow",
"Word": "ExampleForStackOverflow",
"Syllables":["Example", "Example1"]
},
{
"Word": "SecondExampleForStackOverflow",
"Syllables": ["Second", "Example"]
}
]
}
};
https://jsfiddle.net/StackOverflowAccount/sa2eowhh/我有一个小提琴,所以你可以看到我的意思。当您单击绿色+按钮时,它会添加整个字段。这是一个具有ID的容器,我试图在JSON文件中保持所有具有相同ID的所有内容,因此当我将其提取到我的前端时,它“知道”哪个音节是练习单词的一部分。
我有一个ajax调用,我认为这会使我的JSON文件看起来像我现在所拥有的那样。
我的ajax电话:
function saveExerciseAjaxCall() {
$("#my_form").on("submit", function(event) {
event.preventDefault();
$.ajax({
url: 'saveJson.php',
type: 'POST',
data: {
id: getUrlParameter('id'),
formData: JSON.parse('{"' + decodeURI($('#my_form').serialize()).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"') + '"}')
},
dataType: 'json',
}).done(function(response) {
});
});
}
谢谢!