Вопрос

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

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

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

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

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

Решение

Я думаю, первое, что нужно понять, это то, что 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-файл имеет размер 235 КБ и содержит около 700 строк (узлов / листьев)".Рассматриваете ли вы возможность перехода с CSV на JSON?(Вы на самом деле не говорите.) Вы также говорите "Число будет расти, скажем, каждую неделю на 5-10".Ни CSV, ни JSON на самом деле не являются оптимальными для больших файлов, к которым будут применяться инкрементные изменения, за исключением того, что с помощью CSV вы можете эффективно добавлять данные.Если добавление - это все, что вы делаете, вы могли бы использовать CSV, но если вам нужно внести другие изменения, я бы, вероятно, преобразовал данные в базу данных, чтобы можно было эффективно выполнять обновления.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top