JSON используется только для JavaScript?

Попробуем умножить два комплексных числа

(a + bi) * (c + di) = (a + bi) * c + (a + bi) * di
                    = ac + bci  + adi + bdii
                    = ac + bci + adi - bd     (here we use that i*i = -1)
                    = ac-bd + (bc+ad)i

. Если мы положим z1=a+bi и z2=c+di, то можем перевести это на схему:

(define (multiply z1 z2)
  (let ([a (real z1)]
        [b (imag z1)]
        [c (real z2)]
        [d (imag z2)])
    (complex-num ..compute ac-bd..  ..compute bc+ad.. )))
5
задан Peter Mortensen 30 December 2010 в 18:15
поделиться

8 ответов

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

8
ответ дан 18 December 2019 в 07:32
поделиться

Является ли это хорошей практикой, которую я не могу сказать, но это кажется мне нечетный. Поля Having XML в Вашей базе данных SQL, по крайней мере, queryable (SQL Server 2000 или позже, MySQL и другие), но как правило последнее средство для метаданных.

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

Для не высказывания я не соглашаюсь с использованием JSON как простое (то есть, не сериализируя ссылки) сериализатор данных по XML, но я не войду в JSON по сравнению с напыщенной речью XML только ради него :).

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

5
ответ дан 18 December 2019 в 07:32
поделиться

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

2
ответ дан 18 December 2019 в 07:32
поделиться

Вы не единственный с помощью JSON для хранения данных. CouchDB является ориентированной на документ базой данных, которая использует JSON для того, чтобы хранить информацию. Они первоначально сохранили ту информацию как XML, затем переключенный на JSON. Запросы сделаны через старый добрый HTTP.

Между прочим, CouchDB получил некоторое внимание в последнее время и поддерживается IBM и Основой программного обеспечения Apache. Это записано в Erlang и обещает много (по моему скромному мнению).

4
ответ дан 18 December 2019 в 07:32
поделиться

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

Однако Вы не говорите, какую базу данных Вы используете. Если это - SQL Server 2005, или позже затем сама база данных имеет обширные возможности при контакте с XML, включая тип данных XML, поддержку XQuery и способность оптимизировать выражения XQuery как часть плана выполнения. Так, если это верно, я был бы намного более склонен использовать XML и использовать в своих интересах средства базы данных.

2
ответ дан 18 December 2019 в 07:32
поделиться

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

С другой стороны, поиск соответствий высосет - Вы оказываетесь перед необходимостью использовать, "где json как '% somevalue %'", который будет крайне медленным. Это - то же ограничение с любой другой текстовой стратегией хранения (xml включенный).

0
ответ дан 18 December 2019 в 07:32
поделиться

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

1
ответ дан 18 December 2019 в 07:32
поделиться

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

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

-1
ответ дан 18 December 2019 в 07:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: