|
|
|
Использование XSuperObject для сериалиpации, десериализации классов Delphi
|
|||
|---|---|---|---|
|
#18+
Доброго дня мудрецы! Использую класс XSuperObject для перевода класса в json строку и обратно. Все бы ничего, но при вызове метода AsJSON с кириллицей json строка становится такой: '"Поиск по фамилии, имени (отчеству"' к примеру. Как сделать так, чтобы она отображалась в нормальной кодировке с кириллицей и нормально работала при вызове AssignFromJSON с этой кодировкой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2018, 11:53 |
|
||
|
Использование XSuperObject для сериалиpации, десериализации классов Delphi
|
|||
|---|---|---|---|
|
#18+
k.besedin, Посмотреть в доках/настройках, зачем там простые юникодные символы экранирует. Возможно, компонент думает, что в анси, не utf хотят выгрузить. Гугл подсказывает, что результат можно вручную преобразовывать: https://bitbucket.org/vkrapotkin/unescapejson/src/934dc8bdc66106816939c81a1ab4b91d65287008/UUnescapeJSON.pas?at=master&fileviewer=file-view-default Но это так себе решение, на черный день. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2018, 13:27 |
|
||
|
Использование XSuperObject для сериалиpации, десериализации классов Delphi
|
|||
|---|---|---|---|
|
#18+
k.besedinДоброго дня мудрецы! Использую класс XSuperObject для перевода класса в json строку и обратно. Все бы ничего, но при вызове метода AsJSON с кириллицей json строка становится такой: '"Поиск по фамилии, имени (отчеству"' к примеру. Как сделать так, чтобы она отображалась в нормальной кодировке с кириллицей и нормально работала при вызове AssignFromJSON с этой кодировкой?Стандартный System.Json прекрасно справляется с этой ситуацией, что еще раз подтверждает ущербность XSuperObject)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2018, 14:13 |
|
||
|
Использование XSuperObject для сериалиpации, десериализации классов Delphi
|
|||
|---|---|---|---|
|
#18+
Решил проблему таким образом: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2018, 04:08 |
|
||
|
Использование XSuperObject для сериалиpации, десериализации классов Delphi
|
|||
|---|---|---|---|
|
#18+
k.besedin, Данная функция называется - "привет из будущего". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2018, 04:25 |
|
||
|
Использование XSuperObject для сериалиpации, десериализации классов Delphi
|
|||
|---|---|---|---|
|
#18+
k.besedinДоброго дня мудрецы! Использую класс XSuperObject для перевода класса в json строку и обратно. Все бы ничего, но при вызове метода AsJSON с кириллицей json строка становится такой: '"Поиск по фамилии, имени (отчеству"' к примеру. Как сделать так, чтобы она отображалась в нормальной кодировке с кириллицей и нормально работала при вызове AssignFromJSON с этой кодировкой? Сие поведение скорее всего правильно, ибо результат пригоден для использования в парсерах, принимающих хоть юникодные, хоть ANSIшные строки. Да и какая нафик разница, как оно там в файле закодировано? Отчего так Код: 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. А если тебе все же хочется "красиво", то просто закомментируй эту строчку: Код: pascal 1. Или измени диапазон #127..#65535 так, чтобы кириллица в него не попадала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2018, 04:48 |
|
||
|
Использование XSuperObject для сериалиpации, десериализации классов Delphi
|
|||
|---|---|---|---|
|
#18+
k.besedinРешил проблему таким образом: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Товарищ, а если во входном потоке появятся управляющие символы (те, что в С принято обозначать '\b', '\t', '\n', '\v', '\f', '\r'), или символы 1 (одинарная кавычка), " (двойная кавычка), / (слэш), \ (обратный слэш), символ с кодом 0 и т.д.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2018, 04:55 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39738108&tid=2040080]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 476ms |

| 0 / 0 |
