URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 107657
[ Назад ]

Исходное сообщение
"Amazon открыл Ion, реализацию типизированного варианта JSON"

Отправлено opennews , 22-Апр-16 23:31 
Компания Amazon опубликовала (https://github.com/amznlabs/ion-java)  реализацию переносимого типизированного формата сериализации текстовых и бинарных данных Ion (http://amznlabs.github.io/ion-docs/index.html), расширяющего возможности формата JSON. Эталонный парсер и сериализатор для Ion написан на языке Java и поставляется под лицензией Apache 2.0. По сравнению с JSON в Ion поддерживаются реальные типы данных, возможно включение бинарных данных без дополнительного кодирования base64, можно указывать аннотации, поддерживаются символьные таблицы, структура оптимизирована для высокой скорости чтения данных. Формат является самоописываемым, т.е. читать и записывать данные можно без определения схемы хранения.

URL: https://news.ycombinator.com/item?id=11546098
Новость: http://www.opennet.ru/opennews/art.shtml?num=44296


Содержание

Сообщения в этом обсуждении
"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Genby , 22-Апр-16 23:40 
не вижу превосходство над YAML

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено A.Stahl , 22-Апр-16 23:50 
Превосходство, видимо, в том, что апгрейд с простого JSON, где он недостаточен, будет безболезненным.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 00:03 
Апгрейд до YAML якобы болезненный

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 24-Апр-16 18:01 
С эталонным парсером на Java? Безболезненнм? Ну замени libjson попробуй.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Дядя Паша , 23-Апр-16 11:16 
Интересно где ты в YAML увидел типизацию.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Genby , 23-Апр-16 14:02 
> Интересно где ты в YAML увидел типизацию.

https://en.wikipedia.org/wiki/YAML#Data_types


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Grammar Narziss , 25-Апр-16 08:59 
«превосходства», алё

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Sfinx , 25-Апр-16 12:00 
И где в ямл BSON ? Про бинарные данные тоже мутно. Ты бы попробовал запарсить/распарсить метров 100 сырых картинков с описаловом и все сразу поймешь.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 09-Май-16 10:33 
yaml это язык читаемый человеком, для конфигов.
т.е. там максимум строк 10-20 не более. тем более он тормознутый для парсинга.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 09-Май-16 10:36 
еще бы с ini сравнил
совершенно разное предназначение

json - практически стандарт для обмена данными по сети.
yaml - для написания небольших конфигов. если то использует его для хранения и обмена большими объемами данных - мне их жаль


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 22-Апр-16 23:59 
Чем оно лучше cbor?

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 00:14 
а знает кто-нибудь библиотеку, умеющую конвертировать json в бинарные md4 файлы?

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 24-Апр-16 18:03 
> а знает кто-нибудь библиотеку, умеющую конвертировать json в бинарные md4 файлы?

OpenSSL со своим glue code, только по слухам md4 декодировать довольно ресурсоемко.


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 00:33 
Без спеки или RFC оно не столь интересно как им кажется.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено annual slayer , 23-Апр-16 00:40 
http://amznlabs.github.io/ion-docs/spec.html

?


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Бармагл , 23-Апр-16 00:37 
пусть дополнят реализацией на C, Python, C# - тогда посмотрим

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 00:43 
Как без гемора в json передавать большие куски html?

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 01:16 
{
    ”html”:здесь весь html
}

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Crazy Alex , 23-Апр-16 02:28 
И эскейпить кавычки, угу. Это нынче "без гемора".

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено омномнимус , 23-Апр-16 02:52 
ты его вручную пишешь штоле?

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 06:21 
не хочешь эскейпить в base64 перегони и все

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 13:06 
это накладные по скорости:

т.е сперва
всё -> base64 -> это всё в json


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 19:08 
Если тебе критична скорость разбора - выкидываешь json, берёшь bson/bencode/whatever. JSON - это текстовый формат, со всеми вытекающими. Оверхед конечно не такой чудовищный, как для xml, но он есть и заметен.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 24-Апр-16 18:05 
> не хочешь эскейпить в base64 перегони и все

И получи просадку по скорости при разборе и на треть больше траффика, однако.


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 04:12 
base64

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 09-Май-16 10:39 
так передавайте html c json, в чем проблема?

тут html блок 1
<div id="1"></div>
тут html блок 2
<div id="2"></div>
...
{тут пошел json}


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Нанобот , 23-Апр-16 09:30 
>поддерживаются реальные типы данных

Что хотел сказать автор этой фразой?


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено A.Stahl , 23-Апр-16 09:56 
Это, видимо, дословный перевод "real numbers" -- вещественное число.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено robux , 23-Апр-16 13:36 
меня тоже "порадовало" - оказывается, этот json даже реальные цифры не понимает, гыгы ))

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Вареник , 23-Апр-16 22:47 
Текстовый формат, поля которого не понимают реальных (и любых других) цифр... Совсем абсурд получается :)

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Меломан1 , 23-Апр-16 10:31 
>Amazon

Может им и им подобным слинять с JS на Ruby и пользоваться человеческим YAML?


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 13:08 
>>Amazon
> Может им и им подобным слинять с JS на Ruby и пользоваться
> человеческим YAML?

ямл же тоже текстовый? точнее json это подмножество yaml.
т.е картинку что бы передать через него то нужно через base64 её контент перегнать что бы вставить


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Меломан1 , 24-Апр-16 03:56 
>>>Amazon
>> Может им и им подобным слинять с JS на Ruby и пользоваться
>> человеческим YAML?
> ямл же тоже текстовый? точнее json это подмножество yaml.
> т.е картинку что бы передать через него то нужно через base64 её
> контент перегнать что бы вставить

А по-другому как?


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 09-Май-16 10:57 
а это идея - выкинуть все  нафиг и переписать на Ruby,
а лучше на YAML - веть YAML  человеческий!

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено анонимчик , 23-Апр-16 11:49 
А чем оно лучше message pack?

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено анонимчик , 23-Апр-16 12:50 
почитал - оно текстовое.
посмотрел код на джаве - какое-же джава монстр.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Amsterdam Navigator , 23-Апр-16 12:06 
Amazon изобрел Transit. Слоупоки.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено angra , 23-Апр-16 14:02 
> расширяющего возможности формата JSON. По сравнению с JSON  возможно включение бинарных
> данных без дополнительного кодирования base64

Ага, только сделать это можно исключительно в бинарном варианте этого ion, который уже не имеет ничего общего с JSON. А в текстовом варианте ion используется все тот же base64.

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


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено анонимчик , 23-Апр-16 14:55 
Согласен. Очередное ненужно.

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Kodir , 23-Апр-16 14:30 
> По сравнению с JSON в Ion поддерживаются реальные типы данных

Совсем укурки что ли?? JSON уже 100 лет поддерживает указание типа! Более того - и циклические ссылки тоже. Видимо, студота в Амазоне только пришла из универов и не в курсе.


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Kodir , 23-Апр-16 14:36 
Даже не поленился для амазоновских слоупоков ссылочку найти: http://www.newtonsoft.com/json/help/html/SerializeTypeNameHa...

Типы спокойно поддерживаются.


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Пользователь Debian , 24-Апр-16 18:27 
Ты либо троллишь, либо путаешь ни с чем не совместимый костыль отдельной реализации под платформу Microsoft .NET со стандартом.

Стандарт описан тут: http://json.org


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Kodir , 23-Апр-16 14:59 
> По сравнению с JSON в Ion поддерживаются реальные типы данных

Переводчик, твой рязанский инглиш коверкает всю суть "изобретения" Мармазона. Реально там было вот что:

"Ion also expands JSON’s number specification by defining distinct types for arbitrary-size integers, IEEE-754 binary floating point numbers, and infinite-precision decimals."

Другими словами, Ион просто увеличивает количество вещественных типов, которые можно указать в сериализаторе (хотя JSON прекрасно справляется простым numeric). Зачем Амазон изобретает колесо? Оказывается,

" in practice, many implementations represent all JSON numbers as fixed-precision base-2 floats, which are subject to rounding errors"

То есть в самом JSON никакой проблемы нет, есть просто море кривых реализаций, где вещ.число пишут в ограниченном виде. Более того - JSON никому не запрещает держать числа в BigDecimal и они будут записаны с полной точностью! Другими словами, Амазон сам придумал проблему для 0.00001% случаев, прекрасно знает об ограничениях double и безразмерной точности BigDecimal, и всё равно вешает лапшу "мы решили эфемерную проблему точности".

Спасибо, Амазон, за лишнее доказательство твоей полной тех.некомпетентности!


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено увася , 23-Апр-16 15:19 
Комментарии поддерживаются?

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 23-Апр-16 20:59 
Для этого есть BSON http://bsonspec.org/

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 24-Апр-16 09:41 
они тоже хотят заняться Embrace, extend and extinguish ?


"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 24-Апр-16 10:00 
Съесть-то он съест, да кто ж ему даст...

"Amazon открыл Ion, реализацию типизированного варианта JSON"
Отправлено Аноним , 25-Апр-16 09:23 
- Мы сделали свой джейсон!
- Зачем?
- Потому что мы можем!