Разбор JSON от входного значения в Javascript?

Я совершенно новичок в теме JSON, и мне было интересно, как разбирать JSON из входного значения в моей форме.

Я пытаюсь вставить входы в массив, например {"task": "(input)", "(input)"} {"description": "(input", "(input)"} Я попытался следовать те же направления, что и этот пост: добавление нового элемента массива в объект JSON, но они относятся к уже сформулированным строкам, когда я хочу, чтобы я мог разбирать JSON так же, как и вход в моей форме. Я хочу, чтобы иметь возможность сохранять каждый вход и добавить новый элемент массива таким же образом.

Нижний код работает гладко, но я такой noobie при разборе JSON D: любая помощь приветствуется.

function submitForm() {
    var task = myForm.task.value;
    var desc = myForm.description.value;
    var FormData = {
        task: task,
        description: desc
    };


    myJSON = JSON.stringify(FormData);
    localStorage.setItem("formJSON", myJSON);
    text = localStorage.getItem("formJSON");
    obj = JSON.parse(text);

    addTask(task);
    addDescription(desc);
    console.log(FormData);
    return false;
};

newArray = [task, description];

var taskArray = [];
var descriptionArray = [];

var task = document.getElementById("task").value;
var description = document.getElementById("description").value;



function addTask(task) {
    taskArray.push(task);
    console.log(
        "Tasks: " + taskArray.join(",  "));

}

function addDescription(description) {
    descriptionArray.push(description);
    console.log("Description: " + descriptionArray.join(", "));
};
<!DOCTYPE html>
<html>

<title>Task Form</title>

<body>
    <form class="form-inline" name="myForm" onsubmit=" return submitForm()">
        <label class="required">*Task and Description* </label>

        <!first text box>
        <div class="form-group">
            <input type="text" id="task" placeholder="Task">
        </div>

        <!second comment box>
        <div class="form-group">
            <input type="text" id="description" placeholder="Description">
        </div>
        <button type="submit" class="btn btn-default submit">Submit</button>
    </form>



    <script type="text/javascript " src="json.js "></script>

</body>

</html>

javascript,html,json,

0

Ответов: 1


0

Вы должны хранить массив всех задач localStorage, а не только одну задачу. Когда пользователь сохраняет новую задачу, прочитайте JSON из локального хранилища, проанализируйте его, добавьте новую задачу в массив и сохраните ее.

function submitForm() {
    var task = myForm.task.value;
    var desc = myForm.description.value;
    var FormData = {
        task: task,
        description: desc
    };

    var arrayJSON = localStorage.getItem("formJSON") || "[]";
    var taskArray = JSON.parse(arrayJSON);
    taskArray.push(FormData);
    localStorage.setItem("formJSON", JSON.stringify(taskArray));

    addTask(task);
    addDescription(desc);
    console.log(FormData);
    return false;
};

JavaScript, HTML, JSON,
Похожие вопросы