Проблема: мой JSON не практичен, и я просто чувствую, что столкнусь с проблемами (уже сталкивался с ними).Как вы можете видеть, мой JSON выглядит странно, но почему-то это действительно JSON (проверено с помощью JSONLint).У меня есть поля ввода, которые находятся в контейнерах с их собственным уникальным идентификатором (они увеличиваются).Мне было интересно, если можно отправить данные, вставленные в поля ввода вместе, поэтому, когда я получу их, они останутся вместе.
как выглядит мой 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"
}
}
}
что я ищу и надеюсь достичь: source: Luiz Carloz (Большое спасибо).
{ "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/ У меня есть скрипка, чтобы вы поняли, о чем я.Когда вы нажимаете зеленую кнопку +, это добавляет целое поле.Это контейнер с идентификатором. Я пытаюсь сохранить все в одном и том же идентификаторе в файле JSON, поэтому, когда я извлекаю его в свой интерфейс, он «знает», какие слоги являются частью слова упражнения.
У меня есть вызов 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) {
});
});
}