Javascript 如何根据创建和填写的容器的ID生成JSON对象

Javascript 如何根据创建和填写的容器的ID生成JSON对象,javascript,json,ajax,Javascript,Json,Ajax,问题:我的JSON不实用,我只是觉得我会遇到已经遇到的问题。正如您所看到的,我的JSON看起来很奇怪,但不知何故,它是通过JSONLint检查的有效JSON。我有一些输入字段,这些字段位于容器中,它们具有自己的唯一id。我想知道是否有可能将插入到输入字段中的数据一起发送,这样当我获取数据时,它将保持在一起 我的JSON现在的样子: { "main_object": { "id": "new", "formData": { "language": "nl_NL",

问题:我的JSON不实用,我只是觉得我会遇到已经遇到的问题。正如您所看到的,我的JSON看起来很奇怪,但不知何故,它是通过JSONLint检查的有效JSON。我有一些输入字段,这些字段位于容器中,它们具有自己的唯一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"]
    }
]
   }
 };
我有把小提琴,所以你能明白我的意思。当您单击绿色+按钮时,它会添加一个完整的字段。这是一个具有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) {

    });
});
}

首先,你的小提琴坏了,找不到

第二,如果我理解正确,您需要重新格式化JSON结构。我建议您为表单数据创建一个数组。大概是这样的:

{ "main_object": 
  {
    "id": "new",
     "formData": [
        {
            "language": "nl_NL", 
            "getExerciseTitle": "ExampleForStackOverflow",
            "Word": "ExampleForStackOverflow", 
            "Syllables":["Example", "Example1"]
        },
        {
            "Word": "SecondExampleForStackOverflow",
            "Syllables": ["Second", "Example"]
        }
    ]
 }
};

谢谢你的提醒,我更改了链接。它现在应该可以工作了:顺便问一下,如果我使用ur JSON结构作为我正在寻找的示例,你介意吗?因为这正是我要找的。如何使用ajax调用更改数据结构无论如何,我是ajax的新手,所以是的,很难找到如何更改数据库结构。请随意使用。非常感谢: