Используйте javascript для обновления файла json


Я хотел бы предварить это, сказав, что я знаю, что то, что я делаю, не идеально. С учетом этого:

Мне нужно обновить данные в файле JSON с помощью javascript. Вот файл JSON в его нынешнем виде:

{
"nextid" : 3,
"ingredients" : [
{
    "id": 1,
    "name": "onion",
    "kilojoules": 180,
    "quantity": 1,
    "measurement": "whole",
    "nutrition": [
        {"value": "Fat Total", "quantity": 110},
        {"value": "Saturated Fat", "quantity": 46},
        {"value": "Sodium", "quantity": 4},
        {"value": "Carbohydrates Total", "quantity": 10000},
        {"value": "Sugar", "quantity": 5000},
        {"value": "Fibre", "quantity": 2000},
        {"value": "Proten", "quantity": 1000}
    ]},

{
    "id" : 2,
    "name": "carrot",
    "kilojoules": 56,
    "quantity": 1,
    "measurement": "whole",
    "nutrition": [
        {"value": "Fat Total", "quantity": 66},
        {"value": "Saturated Fat", "quantity": 11},
        {"value": "Sodium", "quantity": 26},
        {"value": "Carbohydrates Total", "quantity": 3000},
        {"value": "Sugar", "quantity": 2000},
        {"value": "Fibre", "quantity": 1000},
        {"value": "Proten", "quantity": 279}
    ]}
]

}

Теперь предположим, что я хочу отредактировать объект моркови. Я создал обновленный объект моркови на своей html-странице и разместил его как объект в javascript. Что мне нужно будет сделать, чтобы обновить исходный json с помощью моих изменений?

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

Исследования говорят мне, что мне нужно будет использовать PHP или ASP на стороне сервера для сбора параметров, которые передает ему javascript, но я понятия не имею, с чего начать.

Я работаю в visual studio 2012, и параметры проекта запрещают мне использовать дополнения. Код NuGet библиотеки да, но никаких дополнений. Исходя из этого, я думаю, что это означает, что я не могу использовать PHP. Прав ли я в своем мышлении там?

Примечание: Да, это для назначения, но изменение файла json выходит за рамки требований. Для проекта достаточно иметь возможность динамически обрабатывать данные json, я просто ОЧЕНЬ хотел бы иметь возможность вернуть их обратно.

Заранее благодарю

РЕДАКТИРОВАТЬ: Вероятно, следовало бы поделиться и этим тоже. Это javascript, который открывает файл json. То результат открытия хранится в широкой переменной скрипта, называемой ingJson.

function downloadIngredients() {
$(document).ready(function () {
    $.getJSON("/data/ingredientsInfo.js", function (result) {
        try
        {
            ingJson = result;
            ingredients = result.ingredients;
            ingredients.sort(orderByNameAscending);
            buildListBox(ingredients);
        }
        catch (err) {
            alert(err.message);
        }
    });
});
}
Author: DrBoon, 2014-01-31

1 answers

Для редактирования файла JSON:

  1. Откройте файл с php
  2. Отправьте содержимое в браузер (Просто сбросьте его в виде строки в переменной в теге скрипта)
  3. Проанализировать JSON с помощью JavaScript (загрузить ->получить строку из тега скрипта)
  4. Редактировать объект
  5. Снова преобразуйте его в строку JSON
  6. Отправьте его обратно в php
  7. Попросите php перезаписать файл.

Жаль, что вы не можете просто отредактировать файл непосредственно в php, это сделало бы шаги 2-6 ненужными, вы бы просто проанализировали, отредактируйте и закодируйте JSON в php.

Редактировать: Поскольку у вас, похоже, уже есть данные в JavaScript, шаги 1-3 учтены.

 3
Author: Cerbrus, 2014-01-31 10:58:21