Как хранить данные JSON на диске?

Я совершенно новичок в JSON, и мне, возможно, придется использовать его в будущем, поэтому я сделал некоторые чтения об этом. Есть много вопросов относительно JSON на SO. Я нашел кучу статей с помощью google, я читал json.org но я не понимал, как хранить данные JSON.

JSON is-это легкий формат обмена данными. Так как я храню свои данные? В ? В база данных? Разве это имеет значение?

Я могу использовать его для передачи данных jsTree (jsTree-это основанный на javascript компонент дерева кросс-браузера. Он упакован как плагин jQuery.) Это было бы с Wordpress. Я пытаюсь понять, как я буду хранить данные? В файле? Текстовый файл? В базе данных Wordpress? Какой из них быстрее? Лучше использовать?

ТЕКУЩЕЕ СОСТОЯНИЕ перед любым кодированием,нет приложения, работающего

  • я готовлю исходные данные и до сих пор моя исходный файл csv 235KB in размер около 700lines (линия = будущих узлов/листьев). Я использую csv-файл только для сбора данных, затем я загружу / обновлю источник данных на веб-сервере.
  • число будет расти скажем каждую неделю на 5-10.
  • файл на моем локальном компьютере и сохраняются (почему-то) на сервере хостинга. Обратите внимание, что я буду использовать все приложение jsTree+JSON в Wordpress
  • я думаю, я могу использовать это: теперь проанализируйте клиентскую сторону json с помощью Wordpress

4 ответов


Я думаю, первое, что нужно понять, это то, что JSON-это всего лишь один из способов представления информации. Вы можете хранить данные, как вам нравится. Если у вас есть реляционная база данных, вы, вероятно, можете придумать разумный способ преобразования данных и обратно.

{ 
  "id": 321
  "name" : "Jim",
  "age" : 27,
  "email" : "jim@jimsoft.com"
}

может быть представлен в XML как

<person>
   <id>321</id>
   <name>Jim</name>
   <age>27</age>
   <email>jim@jimsoft.com</email>
</person>

или может храниться в таблице, которая выглядит как

_______________________________________
| id | name | age | email              |
========================================
|321 | Jim  | 27  |jim@jimsoft.com     |
----------------------------------------

Так что если вы можете хранить информацию, которую вы хотите. Вы просто нужен какой-то способ, чтобы сериализовать/восстановить данные в любой форме, вы хотите.

все, что было сказано, Если вам нужно магазине JSON и сохранение его в виде файла не будет работать, вы, вероятно, хотите посмотреть на CouchDB или в MongoDB. Они документно-ориентированных баз данных, хранятся документы JSON. Они позволят вам хранить любые документы JSON, которые вы хотите. Вы можете создавать представления и запрашивать данные напрямую без необходимости преобразование данных в различные формы.


Что-то вроде CouchDB-это база данных, которая хранит ее внутри файла. Большинство людей вообще не / хранят / JSON, они генерируют и отправляют его или анализируют и обрабатывают.

JSON-идеальный формат для сериализации данных, но к нему применяются те же предостережения, что и к любому другому формату сериализации. Вы храните XML в БД? Обычно нет. Разница в том, что XML приносит жертвы, чтобы включить использование людей, а JSON делает жертвы легко разбираемыми и быстрыми.

в формате JSON на самом деле это не замена CSV. Подумайте о CSV как о свободно сформированном табличном механизме сброса. Было бы не слишком разумно иметь экспорт JSON в excel.


погода вы храните его в базе данных или в файле на самом деле не имеет значения. Дело в том, что вам нужно иметь возможность получить его как строку (используя HTTP или какой-то серверный скрипт).

например, если вы сохраните его как файл с именем Data.json вы можете использовать ajax для его извлечения, но если вы храните его в базе данных, вам нужно использовать какой-то серверный сценарий (вы все равно можете использовать ajax).

Если у вас есть опыт работы с xml, просто подумайте о json как об одном и том же, это просто строковое представление данных.


JSON-это формат обмена. Вы можете сохранить его в файле или БД, если хотите, как и любой другой формат, хотя это хорошая идея зависит от того, что вы делаете.

вы говорите: "до сих пор мой исходный csv-файл имеет размер 235KB с размером около 700lines (узлы/листья)". Вы рассматриваете возможность перехода с CSV на JSON? (На самом деле ты не говоришь.) Вы также говорите: "число будет расти, скажем, каждую неделю на 5-10". Ни CSV, ни JSON не являются оптимальными для больших файлов это будет иметь инкрементные изменения применяются, за исключением CSV вы можете эффективно добавлять данные. Если добавление-это все, что вы делаете, вы можете придерживаться CSV, но если вам нужно сделать другие изменения, я, вероятно, разложу данные в БД, чтобы обновления могли быть сделаны эффективно.

на самом деле количество данных, о которых вы говорите, довольно мало, и с таким небольшим количеством обновлений в неделю вам, вероятно, не нужно беспокоиться об эффективности. Делай, что хочешь. :-)