2016-07-29 3 views
1

Звучит странно правильно? подождите, пока вы не услышите всю историю. Im junior web develor в моей компании, и мы работаем с opencart, чтобы сделать наши проекты в интернет-магазине.Есть ли проблемы с совместимостью с json?

У нас была задача синхронизировать базу данных opencart с базой данных ATLANTIS или ERP, поэтому, когда новые продукты доступны или получили обновление, электронный магазин будет обновляться автоматически.

После некоторого обсуждения я добавил json к таблице, конечно, но старший веб-разработчик сказал, что есть проблемы совместимости, когда json генерируется из не-веб-языка для веб-языка, такого как php.

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

+1

JSON - очень простой текстовый формат. У него не может быть проблем с совместимостью. Должно быть, либо одна из ваших сторон генерирует недопустимый json, либо другой не может правильно проанализировать корректный json. –

+0

Согласно [spec] (http://www.json.org/): _ «JSON - это текстовый формат, который полностью не зависит от языка, но использует условные обозначения, знакомые программистам C-семейства языков, включая C , C++, C#, Java, JavaScript, Perl, Python и многие другие. Эти свойства делают JSON идеальным языком обмена данными ». Не имеет значения, является ли это веб-или не-веб-язык, выполняющий генерацию/синтаксический анализ. Если оба языка правильно реализуют спецификацию, она будет работать нормально. Если вы обеспокоены тем, что сгенерированный JSON плох, запустите его через [jsonlint.com] (http://jsonlint.com/) для проверки – War10ck

+1

«не веб-язык, например, php»? Ваш старший разработчик, должно быть, получил его обучение из коробки с магазином в долларах с зерном. Вся основа PHP для существующих - это создание веб-страниц. –

ответ

4

JSON определяется довольно строгим и несколько ограничивающим spec. Любая библиотека, соответствующая этой спецификации, будет считывать JSON, сгенерированную любой соответствующей библиотекой, и генерировать JSON, который может быть прочитан любой другой соответствующей библиотекой.

Если вы используете библиотеку, которая «расширяет» JSON в некотором роде, что явно плохо и не соответствует требованиям, но в целом это не является общей проблемой.

0

Нет проблем с совместимостью, однако есть несколько разных RFC (запрос комментариев) и Стандарты на нем.

Также присутствует, что некоторые системы полностью игнорируют такие RFC (RFC 4627, RFC 7159 и ECMA-404/ECMA-262 являются наиболее распространенными).

Наконец, поскольку JSON - это просто текст, это общепринятый (из моего личного опыта), что старые машины сохраняют текст в плохом кодировании, игнорируя их систему Endian или даже используя неправильные символы.

Старые аналитики склонны игнорировать, так как JSON «проще» расшифровывать и использовать больший размер файла по сравнению с какой-то настраиваемой сериализуемой системой, которую они использовали на протяжении веков.

Смежные вопросы