|
|
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Добрый день. Очень, очень буду признателен за советы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 11:08 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Стандартная не подходит? http://docwiki.embarcadero.com/RADStudio/Rio/en/JSON ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 11:29 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
самая быстрая - mORMot самая удобная на чтение - SuperObject, она также и XML читает для создания JSON там некоторые неочевидные грабли есть, к которым надо привыкнуть. Плюс, как всегда у Анри, крайне лаконичная документация самая совместимая - если не ошибаюсь lkJSON работает даже с Delphi 5 (1999 года) есть ещё штуки типа JSON Data Objects Я обычно SuperObject пользуюсь, но дело привычки Стандартной я бы не стал пользоваться, её до сих пор доделывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 11:33 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
X-CiteСтандартная не подходит? http://docwiki.embarcadero.com/RADStudio/Rio/en/JSON +1 Ariochсамая удобная на чтение - SuperObject, она также и XML читает Советую сначала посмотреть на исходный код этих шедевров, особенно на SuperObject. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 12:10 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Смотрел я на SO и даже правил. Зато сколько разнообразных косяков было в dbExpress JSON когда он появился.... даже про TXMLDocument столько обалдевших вопросов не было И даже без учёты выловленных и не выловленных косяков.... Rio - после многолетнего улучшения правок исправленийLJSONObject := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(GJSONString), 0) as TJSONObject; SuperObjectiJSON := SO(GJSONString); Rio LJSONObject:= TJSONObject.Create; LJSONObject.AddPair(TJSONPair.Create(TJSONString.Create('Hello'), TJSONString.Create('World'))); ..... LJSONObject.Destroy; SuperObjectiJSON := SO; iJSON.S['Hello'] := 'World'; Я искренне восхищаюсь мазохистами, но понять их не могу. P.S. кстати, что будет если взять целую ветку (объект) из середины одного JSON-документа и перенести в другой документ ? Примерно что-то такое: LJSONObject1 := TJSONObject.ParseJSONValue('c:\file1.json'); LJSONObject2 := TJSONObject.ParseJSONValue('c:\file2.json'); LJSONValue := LJSONObject['city[1].street[''Ленина''].house[20]']; LJSONObject2.AddPair('city[8].street[''Победы''].house[5]', LJSONValue); Они разберутся на тему совместного владения этой подветкой, память не потечёт, двойного удаления не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 12:32 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Или ещё лучше, примерно что-то такое: LJSONObject1 := TJSONObject.ParseJSONValue('c:\file1.json'); LJSONObject2 := TJSONObject.ParseJSONValue('c:\file2.json'); LJSONValue := LJSONObject['city[1].street[''Ленина''].house[20]']; LJSONObject2.AddPair('city[8].street[''Победы''].house[5]', LJSONValue); LJSONObject2.SaveFile; LJSONObject2.Destroy; LJSONObject1.Destroy; Memo1.Linex.Add('Владелец квартиры ' + LJSONValue.GetString<string>('appartment[13].owner')); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 12:36 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUS, смотря для чего. парсинг, создание, сериализация\десериализация? та что в поставке это пипец, другое слово подобрать сложно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 12:45 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)Игорь_UUS, смотря для чего. парсинг, создание, сериализация\десериализация? та что в поставке это пипец, другое слово подобрать сложно Библиотека нужна для Создания и Чтения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:02 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUS, библиотека нужна для 10.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:03 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)та что в поставке это пипец, другое слово подобрать сложно И чем именно она пипец ? Можно что-нибудь конкретное ? Она во многом повторяет NewtonSoft для VisualStudio(Или Newtonsoft во многом повторяет RadStudio) Игорь_UUSИгорь_UUS, библиотека нужна для 10.2 Так чем тебе стандартная не подходит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:35 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Valery_Bkealon(Ruslan)та что в поставке это пипец, другое слово подобрать сложно И чем именно она пипец ? Можно что-нибудь конкретное ? Она во многом повторяет NewtonSoft для VisualStudio(Или Newtonsoft во многом повторяет RadStudio) Игорь_UUSИгорь_UUS, библиотека нужна для 10.2 Так чем тебе стандартная не подходит ? Можно попробовать стандартную... о ней многие отзываются как "сыровато". Скажите, есть где примеры посмотреть, как работать со стандартной библиотекой? (на сайте эмбаркадеро их можно сказать нет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:42 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
тут примеры по SO (да, у Анри всегда документация сверx-краткая), а также в папках demo & tests https://github.com/hgourvest/superobject по mORMot'у надо их документацию скачать, она у них весьма наворотистая. Навскидку можно глянуть http://blog.synopse.info/post/2013/12/10/JSON-record-serialization http://blog.synopse.info/post/2011/02/23/Fast-JSON-(un)serialization http://blog.synopse.info/post/2015/02/16/Benchmarking-JsonDataObjects-JSON-parser И вообще http://blog.synopse.info/tag/JSON ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:48 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUS, 1. Может быть у вас не совсем правильное понимание работы с json ? т.е. вопрос на самом деле "Как работать с json ?" 2. В принципе, первая же ссылка которая здесь указана, ведёт на самый простой пример. 3. Её аналог я когда-то тоже приводил 21725004 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:52 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
http://blog.synopse.info/post/2015/02/16/Benchmarking-JsonDataObjects-JSON-parser Since JsonDataObjects has been written by Andreas Hausladen, the maintainer of the great Delphi IDE fix packs, this new JSON library is very promising. ... Source code of the test is available in our source code repository. https://github.com/synopse/mORMot/blob/master/SQLite3/Samples/25 - JSON performance/JSONPerfTestCases.pas вот можешь посмотреть, как одни и те же задачи делаются в разных библиотеках. Только учти, что mORMot делается для высоконагруженных серверов и там скорость выжимают любой ценой. Вероятно, что и в демке там код окажется не наиболее простой и ясный, а наиболее быстрый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:54 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Valery_BЕё аналог я когда-то тоже приводил 21725004 мрачная картинка. похоже, решили продублировать Microsoft XmlLite для JSON интересно, что будет, если я ошибусь и сломаю баланс вызовов StartXXX и EndYYY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 13:59 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochмрачная картинка. Это из видео с официального канала Ембрякоделлы с Ютуба. Видео, по моему шло там более 1.5 часа - а это суть, что бы не смотреть все полтора часа. На мой взгляд, объяснить, как работать с Json в Delphi можно максимум минуты за 2-3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:07 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
А мне больше XSuperObject нравится. https://github.com/onryldz/x-superobject ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:31 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
А мне нет. Смотрел я на XSO, и мне кажется, это хуже исходной SO Кстати, в бенчах скорости SO самая медленная вроде бы, ПОСЛЕ XSO которая дескать вообще за гранью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 14:34 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Мне понравился модуль cJSON.pas у Батлера: https://github.com/fundamentalslib С другими не сравнивал, но несколько проектов с его помощью сделал. К тому же это единственное из адекватного, что можно сейчас найти для D2007. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 15:02 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
DmSerэто единственное из адекватного, что можно сейчас найти для D2007 а lkJSON неадекватна ? Вроде не хуже, чем "стандартный" dbx JSON по интерфейсу. https://stackoverflow.com/questions/43882426/generate-json-array-with-lkjson-in-delphi-7 http://qaru.site/questions/7210884/parse-json-using-lkjson ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 16:06 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Arioch Код: pascal 1. Код: pascal 1. Arioch Код: pascal 1. 2. 3. 4. 5. Код: pascal 1. 2. 3. 4. Arioch Код: pascal 1. 2. 3. 4. 5. Код: pascal 1. 2. 3. 4. 5. Ну и тд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 16:26 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ну и: * в 10.3 стандартный JSON раз в 5-6 быстрее чем 10.2 * много больше отлавливает ситуаций с некорректным синтаксисом * генерит "правильные" исключения и тд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 16:30 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev, немножко лучше а если я забуду добавить явноe клонировaние ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 16:30 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Dmitry ArefievArioch Код: pascal 1. 2. 3. 4. 5. Код: pascal 1. 2. 3. 4. но в офиц-доке так писать не хотят.... http://docwiki.embarcadero.com/RADStudio/Rio/en/JSON_Objects_Framework Dmitry ArefievArioch Код: pascal 1. Код: pascal 1. И это тоеж я не придумывал, а всё по той же ссылке взял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 16:33 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochа если я забуду добавить явноe клонировaние ?Будет двойной Free ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 19:10 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochно в офиц-доке так писать не хотят.... http://docwiki.embarcadero.com/RADStudio/Rio/en/JSON_Objects_Framework Наверняка дока не менялась с момента появления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 19:11 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Ariochа если я забуду добавить явноe клонировaние ?Будет двойной Free Прэлэмтно! Прэлэстно! В общем, я для себе давно вывел правило. Если какая-то проблема решается в Delphi библиотекой "из коробки" и сторонней библиотекой - надёжнее использовать стороннюю. Особенно если она бесплатная и с исходниками Конечно, оно не абсолютное, но для первого приближения, пока не доказано обратное, она верна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 19:51 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 19:52 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochа если вот так - 21832378 ?Аналогично. Если один JSON объект передать во внутрь второго, то второй становится владельцем первого и сам его уничтожает. И да, в TJSONValue нет default свойства. Так, что вместоArioch Код: pascal 1. нужно писать Код: pascal 1. Это для Rio ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 20:18 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, там не на это упор там суть в том, что оба JSON Document я уже отдестроил, а вот после этого начинаю читать Value поддерева документа (которая была сохранена в отдельную переменную TObject) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2019, 20:28 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochтам суть в том, что оба JSON Document я уже отдестроил, а вот после этого начинаю читать Value поддерева документа (которая была сохранена в отдельную переменную TObject)Аналогично. Родитель уничтожает за собой всех детей. Должно быть Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. try - finally добавить по вкусу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 00:55 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ещё вопрос... Если использовать стандартную библиотеку, там предусмотрена передачи бинарных данных ("файла" например) в тот же "Writer"? И можно ли читать бинарные данные из json? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 07:30 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSЕщё вопрос... Если использовать стандартную библиотеку, там предусмотрена передачи бинарных данных ("файла" например) в тот же "Writer"? И можно ли читать бинарные данные из json? Думаю можно через BinToHex и HexToBin преобразовать из бинарного в шеснадцатиричную строку и наоборот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 09:12 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSИ можно ли читать бинарные данные из json? json - это UTF-8 текст, представь бинарные данные в виде текста и будет счастье X-CiteДумаю можно через BinToHex и HexToBin преобразовать из бинарного в шеснадцатиричную строку и наоборот base64 выгоднее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 09:24 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Дегтярев ЕвгенийИгорь_UUSИ можно ли читать бинарные данные из json? json - это UTF-8 текст, представь бинарные данные в виде текста и будет счастье X-CiteДумаю можно через BinToHex и HexToBin преобразовать из бинарного в шеснадцатиричную строку и наоборот base64 выгоднее Точно.. что-то не подумал... http://docwiki.embarcadero.com/Libraries/Rio/en/System.NetEncoding.TNetEncoding TNetEncoding.Base64.Encode() TNetEncoding.Base64.Decode() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 09:46 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
X-CiteДегтярев Евгенийпропущено... json - это UTF-8 текст, представь бинарные данные в виде текста и будет счастье пропущено... base64 выгоднее Точно.. что-то не подумал... http://docwiki.embarcadero.com/Libraries/Rio/en/System.NetEncoding.TNetEncoding TNetEncoding.Base64.Encode() TNetEncoding.Base64.Decode() Получается: EncodeBytesToString.EncodeBytesToString() EncodeBytesToString.DecodeStringToBytes() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:29 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Ariochтам суть в том, что оба JSON Document я уже отдестроил, а вот после этого начинаю читать Value поддерева документа (которая была сохранена в отдельную переменную TObject)Аналогично. Родитель уничтожает за собой всех детей. Т.е. на пустом месте получаем use-after-free! Отличная библиотека. Напоминая, что в этом крайне коротком и простейшем из возможных коде - ты ошибки не видел пока я пальцем не ткнул. В реальном сложном коде - и не увидишь. _Vasilisk_Должно быть Код: pascal 1. 2. Должно быть, чтобы все программы сразу писались без ошибок. Но так редко бывает. Если библиотеке нужно что-то клонировтаь, чтобы работать без ошибок - то лучше пусть клонирует сама, не надеясь на программиста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:54 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochпусть клонирует сама, не надеясь на программиста. и убьет производительность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:00 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSЕщё вопрос... Если использовать стандартную библиотеку, там предусмотрена передачи бинарных данных ("файла" например) в тот же "Writer"? И можно ли читать бинарные данные из json? В модуле SOAP.EncdDecd - который был ещё когда System.NetEncoding не было - есть два класса TStream, которые encode и decode base64 Соответсвенно скармливаешь им TFileStream и TStringStream (через TStream.CopyFrom) Можно и TNetEncoding.DecodeStringToBytes подвязать в IOUtils.TFile.WriteAllBytes Но 1) "Input Strings for Decode and DecodeStringToBytes should be UTF8 encoded." - такие вещи IMHO библиотека должна сама обеспечивать. Потому что ты рано или поздно забудешь. Не говоря про лишний мусор в коде. 2) TBytes нормально сработает с маленькими файлами, так что тебе именно в этом случае париться наверное смысла нет. Но вообще с файлами заранее неизвестного размера рекомендуется работать кусками и целиком их в память не грузить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:03 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Дегтярев ЕвгенийAriochпусть клонирует сама, не надеясь на программиста. и убьет производительность т.е. если я вызову клонирование оно отработает в разы быстрее, чем если то же клонирование вызовет библиотека ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:04 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Дегтярев ЕвгенийAriochпусть клонирует сама, не надеясь на программиста. и убьет производительность не хочет клонировать - пусть не клонирует но пусть не удаляет до того, как я закончл с ним работу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:04 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
AriochДегтярев Евгенийпропущено... и убьет производительность не хочет клонировать - пусть не клонирует но пусть не удаляет до того, как я закончл с ним работуесть такое свойство Код: pascal 1. ставь в false и удаляй сам тогда клонировать не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:24 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)ставь в false и удаляй сам тогда клонировать не нужно отлично! Значит библиотека его и может ставить. мы в конце концов на ассемблере пишем, или на языке высокого уровня? вообще, если кому-то надо проценты скорости выжимать, что вы делаете на Delphi с его знаменито-плохим оптимизатором, возхможно худшим из всех компиляторов вообще ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:29 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
AriochНапоминая, что в этом крайне коротком и простейшем из возможных коде - ты ошибки не видел пока я пальцем не ткнул.Правильно. Потому, что передача объекта от одного родителя к другому это большая редкость. А уничтожение родителя, а потом работа с потомком это вообще за гранью добра и зла. Ты же не пытаешься обращаться к комбобоксу после уничтожения формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:34 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSИ можно ли читать бинарные данные из json?Есть System.JSONB. Сам не использовал, но по идее, это то, что вам нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:35 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochотлично! Значит библиотека его и может ставить. Не может, если задуматься :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:40 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Поигрался с json в поставке 10.2 конечно своеобразный подход)) по началу даже немного непонятный)) Скажите TJSONObject.ParseJSONValue - это единственная возможность начать чтение json? например Код: pascal 1. 2. 3. 4. 5. к чему спрашиваю... получается у остальных классах (например TJSONArray) возможности прочитать json нет на подобии как TJSONObject.ParseJSONValue ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:42 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev, может, просто должна быть написана соответствующим образом, начиная с типов. если в ассемблере нет контроля типов данных - это не значит, что его вообще ни в одном языке не может быть. В C не было, а в C++ появился. Писать на ассемблере иногда забавно. Иногда (теперь уже редко) - полезно. Вот эта библиотека - ассемблер. В ней разложили граблей на всех поворотах "ради скорости". _Vasilisk_Есть System.JSONB. Сам не использовал, но по идее, это то, что вам нужно Вряд ли. Это просто другой формат того-же JSON. https://toster.ru/q/315910 Аналогично EBML, BinaryXML, MessagePack и т.д. А у него задача внутри JSON передать неформатированный бинарник ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 15:00 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUS, возьми стандарт JSON или хотя бы просто историю откуда он взялся JSON - это объект на языке JavaScript (изначально, сейчас чем-то уже отличается). В терминах Delphi - record. Может ли record быть array? нет, это разные типы. Поэтому у array нет функции грузить себя (ParseXXXX) из record - такого просто не может быть в JSON ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 15:02 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Потому, что передача объекта от одного родителя к другому это большая редкость. 1) я ничего никуда не передавал, я просто вызвал функцию библиотеки "добавить новое значение", что она там внутри делает - это "детали реализации" прикладному программисту не нужные. Она просто должна в другом документе сделать те же дланные, и всё. 2) но это вообще не важно. Из последнего примера вообще убери второй документ - ничего не изменится. Суть проблемы в другом, что когда я читаю данные из JsonValue (в Memo - но это частности, могу бы и в БД и куда угодно) - это JsonValue оказывается кем-то со стороны уже разрушено. Проблема именно в этом, use after free, при том что именно я никакого free для jsonValue не делал вообще. На каждом повороте - лежат грабли. Зато якобы, если ты прошёл все квесты и на бегу успел увидеть и перепрыгнут ьВСЕ грабли, то у тебя будет быстрый код. Dmitry Arefievв 10.3 стандартный JSON раз в 5-6 быстрее чем 10.2 Если добежишь. Если тебе вообще был нужен тут самый-быстрый-в-мире-код в этом месте (в самом деле нужно каждую секунду новый мегабайт JSONа парсить?). И даже при этом mORMot и JSO будут скорее всего быстрее. И тот же mORMot как заявлено работает с SON бесконечного размера. Т.е. "стандартный" - всё равно это "грабли минус скорость". По удобству и безопасности - ассемблер, по скорости кода - бейсик (но хороший, быстрый бейсик). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 15:10 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
AriochИгорь_UUS, возьми стандарт JSON или хотя бы просто историю откуда он взялся JSON - это объект на языке JavaScript (изначально, сейчас чем-то уже отличается). В терминах Delphi - record. Может ли record быть array? нет, это разные типы. Поэтому у array нет функции грузить себя (ParseXXXX) из record - такого просто не может быть в JSON хм... но "В терминах Delphi", тот же TJSONArray уж точно не record... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 15:26 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Господа помогите разобраться с ещё одни моментом... как правило в json дата приходит в таком виде "2019-03-15T18:00:15.896" посоветуйте как правильно её перевести в TDateTime? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 16:39 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
AriochИ тот же mORMot как заявлено работает с SON бесконечного размера. TJsonTextReader ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 16:57 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSкак правило в json дата приходит в таком виде "2019-03-15T18:00:15.896" посоветуйте как правильно её перевести в TDateTime? TryISO8601ToDate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 16:58 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Dmitry ArefievИгорь_UUSкак правило в json дата приходит в таком виде "2019-03-15T18:00:15.896" посоветуйте как правильно её перевести в TDateTime? TryISO8601ToDate Дмитрий спасибо... гораздо удобней... я сделал таким способом: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 17:19 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUS, верный выбор - superobject. Работать можно начиная с D7, а начиная с D10 начинаются дополнительные вкусные плюшки. Кодить проще, безопаснее, быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 17:42 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSгораздо удобней... открываем стандарт JSON, читаем как там дата передаётся. да просто в гугле забиваем "json date format" выясняем, что это ISO 8601 ищем "8601" в исходниках delphi и других библиотек. ....Только одно - зачем вообще нужно читать дату как строку? читайте её из JSON-библиотеки сразу в формате TDateTime. Или там кроме даты ещё что-то другое может быть в этом поле? Dmitry ArefievAriochИ тот же mORMot как заявлено работает с SON бесконечного размера. TJsonTextReade Вполне возможно, что он лучше. Но его тут не предлагали, кажется, и примеров работы с ним не было тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 17:49 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
AriochСуть проблемы в другом, что когда я читаю данные из JsonValue (в Memo - но это частности, могу бы и в БД и куда угодно) - это JsonValue оказывается кем-то со стороны уже разрушено.Не тормози. Объясни мне, чем это Код: pascal 1. 2. 3. 4. 5. 6. 7. принципиально отличается от этого Код: pascal 1. 2. 3. 4. 5. 6. 7. ? И почему исключение в первом коде это ахтунг, а во втором - кривые руки программиста? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 17:56 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, тем, что в случае VCL библиотека писалась в 25 лет назад, когда 4 мегабайта памяти было большой удачей, а писать на ассемблере - вполне нормально. Если ты сейчас пишешь для 80286 и Windows 3.11, то обе библиотеки хороши и вопрос в програмисте. А если ты открутишь счётчик ещё на 25 лет назад, то и в машинных кодах писать нормально будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 18:13 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSкак правило в json дата приходит в таком виде "2019-03-15T18:00:15.896" посоветуйте как правильно её перевести в TDateTime? Код: pascal 1. 2. 3. 4. 5. 6. 7. Вообще - тоже заковыристо, лучше бы напрямую свойство было. Может быть в XSuperObject и добавили, хз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 18:20 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Arioch_Vasilisk_, тем, что в случае VCL библиотека писалась в 25 лет назад, когда 4 мегабайта памяти было большой удачей, а писать на ассемблере - вполне нормально. Если ты сейчас пишешь для 80286 и Windows 3.11, то обе библиотеки хороши и вопрос в програмисте. А если ты открутишь счётчик ещё на 25 лет назад, то и в машинных кодах писать нормально будет.а не пойти ли Вам в Яву или Шарп? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 18:23 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), да-да, я тоже когда-то гордился умением делать всё наиболее трудоёмким и геморройным путём, и ни-ко-гда не использовал в Delphi типы interface - ведь ARC это таaак долгооооо. Даже когда вместо AMD 80286 16MHz 2MB появился AMD K6 200MHz 64Mb Потом отпустило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 18:26 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Arioch, но в принципе щас можно и стильно\модно\молодёжно Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 18:45 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), кстати, интересно, как объекты сериализирует "чистый" SuperObject подозреваю, что он тупо пишет по принципу TDateTime = double ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 19:15 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochоткрываем стандарт JSON, читаем как там дата передаётся. да просто в гугле забиваем "json date format" так все таки в стандарте или в гугле? json оперирует весьма небольшим набором типов и среди них нет ни даты ни вемени использование обозначенного общепринятого формата норм идея, а на практике может быть все что угодно зы я бы вместо iso8061 смотрел в сторону более удобного в использовании rfc3339 зызы в одном из проектов для времени использую int32 как внутри так в json ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 20:22 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
DmSerМне понравился модуль cJSON.pas у Батлера: https://github.com/fundamentalslib С другими не сравнивал, но несколько проектов с его помощью сделал. К тому же это единственное из адекватного, что можно сейчас найти для D2007. Предостерегу: баги при работе с float: https://github.com/fundamentalslib/fundamentals5/issues/9 https://github.com/fundamentalslib/fundamentals5/issues/3 А с D2007 справляется superobject, постоянно использую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 20:41 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ещё маленький вопрос, наверное из разряда "правильный/не правильный" синтаксис JSON. Обратил внимание, что все имена переменных идут в нижнем регистре, например: "specimen_code":"258520000", "bodycite_code":null, это принципиально? или можно "SpecimenCode":"258520000" и это тоже правильно т.е. дело каждого и это не принципиально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 08:52 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Дегтярев ЕвгенийAriochоткрываем стандарт JSON, читаем как там дата передаётся. да просто в гугле забиваем "json date format" так все таки в стандарте или в гугле? Надежнее - в стандарте, быстрее - в гугле :-) json оперирует весьма небольшим набором типов и среди них нет ни даты ни вемени использование обозначенного общепринятого формата норм идея, а на практике может быть все что угодно Ну в таком случае вместо "стандарта на JSON" должен быть "стандарт на протокол конкретного приложения", тэк-сэзэть. в одном из проектов для времени использую int32 как внутри так в json В принципе - да, любое приложение может определять (хотя бы исходниками, если не формально) любой свой собственный протокол. И в том же XML можно дату в собственном формате класть, и в SQL часто double кладут... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 11:10 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSэто принципиально? или можно "SpecimenCode":"258520000" и это тоже правильно https://www.json.org/json-ru.html member ::: ws string ws ':' element string ::: '"' characters '"' characters ::: "" character characters character ::: '0020' . '10FFFF' - '"' - '\' '\' escape escape ::: '"' '\' '/' 'b' 'n' 'r' 't' 'u' hex hex hex hex hex ::: digit 'A' . 'F' 'a' . 'f' Теоретически - вот так. На практике же лучше смотри что в реальности умеют и не умеют все библиотеки, с которыми ты будешь взаимодействовать. Например Microsoft Excel местами нарушает стандарт Microsoft Office OpenXML Но если ты будешь писать "под стандарт" и твои файлы не будут открываться Йокселем... "Ну-ты-понел" (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 11:17 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSхм... но "В терминах Delphi", тот же TJSONArray уж точно не record... ну и что? TJSONArray должен отображать в Delphi реальность JSON, а не наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 11:23 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
AriochНу в таком случае вместо "стандарта на JSON" должен быть "стандарт на протокол конкретного приложения", тэк-сэзэть. именно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 11:48 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Arioch, спасибо. Получается можно и верхний и нижний регистр букв использовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 11:50 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSПолучается можно и верхний и нижний регистр букв использовать... стандарт не накладывает на это ограничений, ключ - любая валидная с точки зрения стандарта строка но как и сказали выше, смотри, сможешь ли ты с этим работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 11:58 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
AriochИгорь_UUSхм... но "В терминах Delphi", тот же TJSONArray уж точно не record... ну и что? TJSONArray должен отображать в Delphi реальность JSON, а не наоборот. В стандарте JSON нет такого, чтобы текст JSON представлял из себя объект. Это может быть просто массив. "[5, 6, 7, 8]" - валидный текст JSON. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 13:02 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
s62, " с обеих сторон я поставил, чтобы показать, что внутри строка, это у меня не часть самого текста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 13:06 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
s62"[5, 6, 7, 8]" - валидный текст JSON. Любопытно. Видимо да, после того как JSON оторвали от JS буква O - Object - потеряла смысл. Впрочем, советуют всё равно против массивов как начала. Якобы массивы опасны для безопасности, и поэтому многие библиотеки откажутся от такого документа. https://security.stackexchange.com/questions/7001/how-should-web-app-developers-defend-against-json-hijacking/7003#7003 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 14:33 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUS, в Delphi например "ExpertsExchange" и "ExpertSexChange" - один и тот же идентификатор. Будешь если сериализовать записи/объекты - разный регистр может сыграть злую шутку. Или даже не ты, а опять же, другая программа с которой ты общаться будешь, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 14:35 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
ну и на практике проверить, что именно получится после x := TJSONObject.ParseJSONValue('[1,2,3,4]'); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 14:37 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochну и на практике проверить, что именно получится после x := TJSONObject.ParseJSONValue('[1,2,3,4]'); Проверял, работает, но через "объект массив" (TJSONOArray) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 08:34 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Arioch, Вы путаете понятия "объект" и "массив" поэтому приведённый пример Вашего кода работать не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 08:35 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSAriochну и на практике проверить, что именно получится после x := TJSONObject.ParseJSONValue('[1,2,3,4]'); Проверял, работает, но через "объект массив" (TJSONOArray) Код: pascal 1. в даннном случае возвращает TJSONArray проверять и приводить нужно самому ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 09:57 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUS, я не путаю (особенно, раз "работает"), я допускаю большую функциональность, чем следует из одного лишь названия класса. И, видимо, угадал, что оно все же работает. хотя, в общем-то, это ваш вопрос, не мой. мне бы в голову не пришло голые массивы не завёрнутые в объект парсить. вот и я узнал что-то новое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 11:37 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Нашёл похоже багу в стандартных библиотеках значение целого числа например "MyNumber":789 валидно и "v is TJSONString" и "v is TJSONNumber" я написал собственную небольшую библиотеку, которая переводит json в TDataSet, и я не мог понять где же ошибся... библиотека определяет тип значения и назначает данный тип полю TDataSet, и получается, изначально проверялась валидность по "v is TJSONString" а потом уже "v is TJSONNumber" и тип Integer определялся как string В моём понимании: v is TJSONString - должно быть "MyNumber":"789" а не "MyNumber":789 т.е. если кавычек нет, то это уже число как минимум, но определяется как TJSONString. Получается бага или я что-то недопонимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 13:29 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Всё это на DXE10.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 13:29 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUS, посмотри дерево наследования TJSONString и TJSONNumber очевидно, либо TJSONNumber is TJSONString, либо TJSONString is TJSONNumber Игорь_UUSт.е. если кавычек нет, то это уже число как минимум А если там например ИНН - который строка состоящая из цифр ? Кстати, "MyNumber" вообще говоря на практике может быть без кавычек (по исходному смыслу Java Script Object) и многиe библиотеки такое читают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 14:27 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
а строка, которая МОЖЕТ интерпретироваться, как дата, перестаёт от этого быть строкой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 14:28 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
AriochИгорь_UUS, посмотри дерево наследования TJSONString и TJSONNumber очевидно, либо TJSONNumber is TJSONString, либо TJSONString is TJSONNumber Игорь_UUSт.е. если кавычек нет, то это уже число как минимум А если там например ИНН - который строка состоящая из цифр ? Кстати, "MyNumber" вообще говоря на практике может быть без кавычек (по исходному смыслу Java Script Object) и многиe библиотеки такое читают ИНН - вообще то это строка в виде чисел! но не как не целое число что касается: TJSONNumber is TJSONString - весело! Давай посмотрим с другой стороны: Если "MyNumber":"123" то TJSONNumber <> TJSONString "MyNumber":123 то TJSONNumber = TJSONString вот тут как раз "веселье"(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 15:25 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSИНН - вообще то это строка в виде чисел! но не как не целое число я так и написал. а теперь скормими ИНН JSON-библиотеке, или XML-библиотеке. Они российских законов не знают. И вообще, что в этом поле ИНН, а не что-то другое не знают. как json-библиотека определит, что тут число-не-строка или строка-не-число? никак. поэтому твоей программе отдают и как строку и как число, а ты уж сам смотри, что тебе нужнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 15:35 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
не вижу веселья. Ты же знаешь, что в \том ключе должно быть, строка или число, так и читай. тут и то интереснее: http://forum.codenet.ru/q73936/Хитроумный TJSONNumber: как определиться с Integer или Float? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 15:38 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochкак json-библиотека определит, что тут число-не-строка или строка-не-число? никак. не несите чушь, определит согласно стандарта Ariochтут и то интереснее: http://forum.codenet.ru/q73936/Хитроумный TJSONNumber: как определиться с Integer или Float? ничего интересного, даже стандарт можно не читать, достаточно посетить json.org ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 16:42 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
все реальные json-документы до буквы соответсвуют последней версии стандарта? посетить json.org - это один из способов прочитать стандарт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 16:51 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Ariochвсе реальные json-документы до буквы соответсвуют последней версии стандарта? Косячить в крови людей. Простота JSON обманчива .... 1) Зачастую люди не понимают природу JSON и далее лепят одноименные элементы в объектах, безименные подобъекты в объектах, ссылки по каким-то именам и тд. 2) Сплошь и рядом русские буквы как есть. 3) Местами все идет без кавычек. Ну теперь либо JSON либо не-JSON. С не-JSON хоть ИНН хоть что будет работать с или без кавычек и в любой кодировке, хоть 3х битной :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 18:58 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Dmitry ArefievAriochвсе реальные json-документы до буквы соответсвуют последней версии стандарта? Косячить в крови людей. Простота JSON обманчива .... 1) Зачастую люди не понимают природу JSON и далее лепят одноименные элементы в объектах, безименные подобъекты в объектах, ссылки по каким-то именам и тд. 2) Сплошь и рядом русские буквы как есть. 3) Местами все идет без кавычек. IMHO большинство воспринимают и используют JSON просто как упрощенный заменитель XML, при этом никакого отношения к Яве не имеющий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 04:07 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Вот к Яве он точно отнощшения никогда не имел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 11:26 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
AriochВот к Яве он точно отнощшения никогда не имел всмысле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 11:36 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
в прямом какоe отношение JSON имеет к Яве ? fraksбольшинство воспринимают и используют JSON ... при этом никакого отношения к Яве не имеющий т.е. типа как он имеет отноiение, но мужики-то не знают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 11:53 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгенийвсмысле? Капитан Очевидность поясняет: Arioch апеллирует к распространенной ошибке смешивания Java и JavaScript ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 10:27 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
А это ни одно и то же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 11:27 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Дегтярев ЕвгенийА это ни одно и то же? Нет. Java представляет собой объектно-ориентированный язык программирования, а JavaScript - это объектно-ориентированный язык создания сценариев. Код на Java необходимо скомпилировать, а код JavaScript используется в текстовом виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 14:26 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Это четыре разных человека. (c) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 14:26 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
goldmi45, Дело даже не в том, как исполняются языки. Java-код изначально тоже интерпретировался, компилироваться он стал далеко не сразу. Дело в том, что "Java" в названии JavaScript - чисто рекламная фишка, совместна рекламная кампания ныне не существующих Netscape и Sun, без малейшего технического к тому повода. Netscape заплатил за использованиe хайпа Sun. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 14:28 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, канал и канализация одно и то же? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 15:06 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
это связанные понятия канализация - система подземных каналов для отвода ненужных жидкостей не куда им хочется, а куда хочется строителям каналов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 15:12 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Но я думаю, это был сарказм и троллинг Дегтярев ЕвгенийА это ни одно и то же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 15:12 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
AriochНо я думаю, это был сарказм и троллинг зачем вы так, у меня мир рушится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 16:19 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
goldmi45Нет. Java представляет собой объектно-ориентированный язык программирования, а JavaScript - это объектно-ориентированный язык создания сценариев. Код на Java необходимо скомпилировать, а код JavaScript используется в текстовом виде. а как же жит-компиляция в в8? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 16:20 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Arioch, ну так и жавай с js связана :) буквы одинаковые, как минимум ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2019, 17:07 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
makhaon, буквы одинаковые, да - чисто рекламное действо но мы на техническом форуме и предполагаем техническую связь из области программирования её нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 12:50 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Дегтярев ЕвгенийAriochНо я думаю, это был сарказм и троллинг зачем вы так, у меня мир рушится... Креативное разрушение - наше всё! Вставай, проклятьем заклеймённый! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 12:51 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2019, 13:17 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Помогите разобраться с ещё одним моментом. Как можно в Объект засунуть собранный массив? Что имею ввиду: Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 09:02 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Игорь_UUSКак можно в Объект засунуть собранный массив? Сам же написал ответ, или нет ? Если нет, то первая же ссылка в этой теме ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 09:31 |
|
||
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с json
|
|||
|---|---|---|---|
|
#18+
Valery_BИгорь_UUSКак можно в Объект засунуть собранный массив? Сам же написал ответ, или нет ? Если нет, то первая же ссылка в этой теме ? В тот то и дело, не компилиться! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2019, 09:42 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2039666]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
99ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 476ms |

| 0 / 0 |
