我的JSON不实用,我想改变它,我怎么能这样做?

时间:2018-06-13 07:07:08

标签: javascript json ajax

问题:我的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) {

    });
});
}

谢谢!

0 个答案:

没有答案