|
|
|
Посоветуйте лучшую по Вашему мнению библиотеку для работы с 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 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39786873&tid=2039666]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
100ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 579ms |

| 0 / 0 |
