|
|
|
масив json
|
|||
|---|---|---|---|
|
#18+
мне нужно из этого ответа {"success":"1","days":"3","products":[ {"1":{"id":"1","login":"33","password":"432","firstName":"23423","lastName":"234324","id_user":"1"}, "2":{"id":"2","login":"2222","password":"2333","firstName":"3333","lastName":"34234","id_user":"1"}}]} получить firstName и lastName Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 19:27 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
VladimirVVP, самое простое, наверное, TStringList с разделителем ":" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 19:35 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
VladimirVVP, Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2019, 21:41 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
И что заставляет людей так составлять json-массивы? :( Еще чуднее пример: {1:{...}, 2;{...}, 5:{...}, 10:{...} } Парсите наздоровье! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2019, 23:48 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
VladimirVVP, в 10-ке десериализатор есть, ищи в папке REST, по слову reflect ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 00:19 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
DmSerЕще чуднее пример: {1:{...}, 2;{...}, 5:{...}, 10:{...} } Парсите наздоровье! чем он чуднее? тем что невалиден? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 06:44 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)VladimirVVP, в 10-ке десериализатор есть, ищи в папке REST, по слову reflect сериализация хороша, когда структура данных в json жестко зафиксирована. Удаление хотя бы одного поля в структуре сломает парсинг (например в новой версии структуру изменили и новая версия приложения ее поддерживает, а вот предыдущие версии перестают работать), поэтому ручками парсить надежнее Дегтярев ЕвгенийDmSerЕще чуднее пример: {1:{...}, 2;{...}, 5:{...}, 10:{...} } Парсите наздоровье! чем он чуднее? тем что невалиден? лично я бы предпочел, чтобы массив хранился в виде "products":[{"index":"1",..},{"index":"2",..},{"index":"10",..}] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 09:40 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2kealon(Ruslan)VladimirVVP, в 10-ке десериализатор есть, ищи в папке REST, по слову reflect сериализация хороша, когда структура данных в json жестко зафиксирована. Удаление хотя бы одного поля в структуре сломает парсинг (например в новой версии структуру изменили и новая версия приложения ее поддерживает, а вот предыдущие версии перестают работать), поэтому ручками парсить надежнее вот с новой версией структуру поменяли а у тебя всё работает ибо ручками написал :-) ога, как же ..., в реале у тебя куча гумнокода который непонятно как и где исправлять валидацию ожидание-реальность просто нужно делать хотя бы в дебуге ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 10:46 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
VladimirVVP, какая-то у тебя глупая структура: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. "products" - это массив с одним анонимным "{}" объектом, в котором - два объекта, странным образом именованные "2" и "1". Ну да ладно. Код: 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. Ах, да. Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 11:21 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), когда парсинг пишешь ручками, можно делать какие угодно динамические проверки и динамическую обработку на поля/значения/ и т.д., парсинг отработает. При сериализации это мягко говоря недоступно :-) и это опыт именно реального использования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 12:46 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
ёёёёё, исходники SuperObject последний раз обновлялись 3 года назад, X-SuperObject 2 года назад. Будут ли они обновляться дальше для совместимости с новыми версиями делфи? Вопрос открытый. Соответственно большие риски при их использовании, при этом стандартный из коробки system.json будет работать всегда, включая поддержку android и ios ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 12:58 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2, нормально там всё с ним, от версий код зависит минимально. я вот даже на fpc утащил: FPC/Delphi Superobject ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 13:23 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
makhaonasutp2, нормально там всё с ним, от версий код зависит минимально. я вот даже на fpc утащил: FPC/Delphi Superobject Фсё плохо. Тесты последний раз обновлялись 10 лет назад... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 13:28 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
ёёёёёТесты последний раз обновлялись 10 лет назад... Это хороший знак, не? ;) Хотя мне больше x-superobject нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 14:03 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
rgreatёёёёёТесты последний раз обновлялись 10 лет назад... Это хороший знак, не? ;) Хотя мне больше x-superobject нравится. Мне тоже. Но я довольно часто использую старые дельфи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 14:10 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
rgreatёёёёёТесты последний раз обновлялись 10 лет назад... Это хороший знак, не? ;) это плохой знак. говорит либо о том, что либо тесты не обновляются из за отсутствия развития основной библиотеки, либо библиотека развивается, но актуальными тестами не покрываются. Что на порядок хуже первого случая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 15:38 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2kealon(Ruslan), когда парсинг пишешь ручками, можно делать какие угодно динамические проверки и динамическую обработку на поля/значения/ и т.д., парсинг отработает. При сериализации это мягко говоря недоступно :-) и это опыт именно реального использования назад сериализовать и сравнить два json-а пипец RocketScience ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 17:22 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2, а что там можно развивать? Разве json стандарт развивается? Ошибки выгребли - что еще нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 18:07 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
ёёёёё, навскидку - в X-SuperObject почему то используется Indy, что сразу несет проблемы при использовании на android 6+. Автору либы как минимум нужно перейти на модули из коробки. Для тех, кто пишет на древних делфи, может и пойдет, а вот на Rio всё это легаси в топку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 18:32 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
VladimirVVPполучить firstName и lastName Первую попавшуюся пару, или имя из первого элемента массива и имя из последнего элемента массива, или ... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 19:54 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
Дегтярев ЕвгенийDmSerЕще чуднее пример: {1:{...}, 2;{...}, 5:{...}, 10:{...} } Парсите наздоровье! чем он чуднее? тем что невалиден? Я сразу не увидел отформатированный json от ТС, теперь вижу, что у него чуднее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 20:19 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2ёёёёё, навскидку - в X-SuperObject почему то используется Indy, что сразу несет проблемы при использовании на android 6+. Автору либы как минимум нужно перейти на модули из коробки. Для тех, кто пишет на древних делфи, может и пойдет, а вот на Rio всё это легаси в топку. Люто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 20:28 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2навскидку - в X-SuperObject почему то используется Indy, что сразу несет проблемы при использовании на android 6+.В плане "проблемы"? TIdBytes или Base64 от TIdEncoderMIME на анроиде внезапно перестанут работать? Там из Indy болше ничего нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 20:39 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
rgreatasutp2навскидку - в X-SuperObject почему то используется Indy, что сразу несет проблемы при использовании на android 6+.В плане "проблемы"? TIdBytes или Base64 от TIdEncoderMIME на анроиде внезапно перестанут работать? Там из Indy болше ничего нет. Да о чем тут спорить, просто сравнить объемы говнокода 21901959 и Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 20:44 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
ёёёёёДа о чем тут спорить, просто сравнить объемы говнокода 21901959 и <..>Причем тут SuperObject и System.JSON? Мы то про X-SuperObject перетираем. Который еще удобней чем простой SuperObject. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 20:47 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
ёёёёёДа о чем тут спорить, просто сравнить объемы говнокода Но его ведь можно на чем угодно написать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 21:08 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev, Можно, но на System.JSON мало говнокода не написать не выйдет. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 21:15 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
rgreat...Который еще удобней... Ну так код давай. :) Dmitry Arefievёёёёё...объемы говнокода Но его ведь можно на чем угодно написать Это да, мастерство не пропьёшь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 21:17 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
Код: 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. Красиво! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 21:22 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
увы, но встроенная либа в использовании никогда красоты кода (X)SuperObject'ов не даст. То, что (X)SuperObject делает изящно, во встроенной выглядит как правило ужасно. Взяли бы вот лучше допилили (X)SuperObject, кому чего не хватает - тестов, или инди лишняя. к слову - инди вполне коробочная либа. другое дело, что зависимость чужеродная совсем, тут согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 21:29 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
к слову - indy отключаемое в XSuperObject: SP_STREAM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 21:36 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
ёёёёёНу так код давай. :) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 21:43 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
rgreatёёёёёНу так код давай. :) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 21:53 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
ёёёёё, Ты еще переносы строк убей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 21:54 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
Как-то так: Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 21:56 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
Вот он какой Великий и могучий! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 22:08 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
А в редакторе кода при наборе "Item." варианты отображаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 22:11 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
кучка легаси говнопрограммеров извращается, что короче напишет, аааа))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 22:15 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
DmSer, У меня 10.3 на этой машине не установлен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 22:17 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2кучка легаси говнопрограммеров извращается, что короче напишет, аааа))))) Вот не надо вот тут вот! У меня большая часть проектов - новоделы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 22:24 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
DmSerА с for var Item? Да. Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2019, 22:28 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
10.3.2 System.JSON. На 30-40% быстрее SO. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 07:46 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2кучка легаси говнопрограммеров извращается, что короче напишет, аааа)))))вы удивительно непоследовательны, вы же сами это предложили :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 09:30 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)asutp2кучка легаси говнопрограммеров извращается, что короче напишет, аааа)))))вы удивительно непоследовательны, вы же сами это предложили :-)ммм, я вроде наоборот призвал отказаться от (x)superobject, так как они легаси в чистом виде, и вместо их использовать system.json? )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 14:58 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2kealon(Ruslan)пропущено... вы удивительно непоследовательны, вы же сами это предложили :-)ммм, я вроде наоборот призвал отказаться от (x)superobject, так как они легаси в чистом виде, и вместо их использовать system.json? ))))В случае использования сериализации, system.json или ещё что-то ещё, не особо важно - хоть самописный велосипед. Будет тормозить не нравится одно, можно переписать, это довольно обозримый код и один. Со стандартными классами и полной валидацией я уложился в 170 строчек модуля, который спокойно можно использовать в любом другом проекте. Вы же сказали, что лучше ручками всё - 21903168 .п1, топик стартанул и все соревнуются как "лучше и красивее наложить побольше". Так чему вы удивляетесь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 17:53 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), осталось сравнить скорострельность обработки json-а кодом "ручками" и кодом "красивее/легче", с разным объемом элементов в дереве ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:00 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
Если хотите именно "побыстрей" то ручками все одно быстрей всего будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:02 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2kealon(Ruslan), осталось сравнить скорострельность обработки json-а кодом "ручками" и кодом "красивее/легче", с разным объемом элементов в дереве )))В этом можно соревноваться бесконечно, на одной структуре, потом на другой, потом на третьей. Только смысл какой? Скорость работы для большинства программ, не особо критичная вещь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:04 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), я последние пару лет пишу для мобилок, у которых обмен с сервером идет через json. Каждая лишняя секунда на парсинг как ножом по сердцу! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:07 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
rgreatЕсли хотите именно "побыстрей" то ручками все одно быстрей всего будет.ага, в кульминации лидером будет Pos('.....', Text), Exit(GetNextElement) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:09 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2лишняя секунда на парсингВы там на мобилку передаете сотни мегабайт JSON-а? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:10 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
rgreat, окстись, окоянный! больше 1 мб не припомню, обычно от килобайта до пары десятков кб тут вопрос в другом, процы на мобилках слабее, чем на компах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:16 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2kealon(Ruslan), я последние пару лет пишу для мобилок, у которых обмен с сервером идет через json. Каждая лишняя секунда на парсинг как ножом по сердцу! :-)Могу сказать однозначно, что специализированный десериализатор SAX-типа уделает все ваши поделки и по скорости, и по памяти как тузик грелку Если уж постоянно заморачиваетесь, то можно разок помаяться и сесть написать - это не RocketScience ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:17 |
|
||
|
масив json
|
|||
|---|---|---|---|
|
#18+
asutp2rgreat, окстись, окоянный! больше 1 мб не припомню, обычно от килобайта до пары десятков кб тут вопрос в другом, процы на мобилках слабее, чем на компахВот и я думаю, чего уж там парсить-то? Если несколько десятков килобайт секундами парсится - значит где-то что-то не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 18:19 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2039405]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
182ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
101ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 568ms |

| 0 / 0 |
