|
Не ладится с JSON и спец.символы
|
Я
|
|
zippygrill 16.10.20 - 16:02 | ""WINDOWS-1251"" превращается в \"WINDOWS-1251\"
Как только не крутил ПараметрыЗаписиJSON, нужного результата не могу добиться.
Невидимый перенос строки в текстовый документ всплывает естессно как \n в json
Как их победить красиво..
ТекстXML = Новый ТекстовыйДокумент;
ТекстXML.ДобавитьСтроку("<?xml version=1.0 encoding=""WINDOWS-1251"" ?>");
ТекстДляЗаписи = ТекстXML.ПолучитьТекст();
//<?xml version=1.0 encoding="WINDOWS-1251" ?>
ЗаписьJSON.ЗаписатьИмяСвойства("xmlStr");
ЗаписьJSON.ЗаписатьЗначение(ТекстДляЗаписи);
СтрJSON = ЗаписьJSON.Закрыть();
//"xmlStr": "<?xml version=1.0 encoding=\"WINDOWS-1251\" ?>\n" |
asady 1 - 16.10.20 - 16:06 | ( 0) СтрЗаменить(СтрокаJSON,Символы.ПС,""); |
zippygrill 2 - 16.10.20 - 16:07 | ( 1) с ПС легче всего..а вот остальные |
Garykom 3 - 16.10.20 - 16:10 | |
Garykom 4 - 16.10.20 - 16:13 | ( 0) И вопрос нафуя ты XML через JSON пишешь? |
Garykom 5 - 16.10.20 - 16:14 | ( 4)+ Если надо, обычно юзают Base64 |
Garykom 6 - 16.10.20 - 16:14 | ( 5)+ "xmlStr": Base65("<?xml version=1.0 encoding=\"WINDOWS-1251\" ?>\n") |
Garykom 7 - 16.10.20 - 16:14 | ( 6) *Base64("<?xml version=1.0 encoding=\"WINDOWS-1251\" ?>\n") |
zippygrill 8 - 16.10.20 - 16:15 | ( 4) ну вот на той стороне так api написали |
zippygrill 9 - 16.10.20 - 16:15 | ( 7) а base65 - это следующий уровень скиллов?)) |
Garykom 10 - 16.10.20 - 16:17 | ( 9) дык хоть Base66 или даже Base666 при желании
По сути это банальная замена по основанию, как двоичная, десятичная, шестнадцатиричная, 64-ричная и т.д. система счисления |
Garykom 11 - 16.10.20 - 16:20 | ( 8) интересный api, не поделишься? тоже хочу попробовать че они там курят |
Lexey_ 12 - 16.10.20 - 16:34 | (0) ЗаписьJSON.ПроверятьСтруктуру = Ложь;
...
ЗаписьJSON.ЗаписатьБезОбработки(ТекстДляЗаписи); |
zippygrill 13 - 16.10.20 - 16:37 | ( 11) возможно студенты писали этот АПИ судя по тому как указали атрибуты, потому что xsd схему/пакет xdto я не могу наверстать на его основе |
VKS 14 - 16.10.20 - 16:38 | Кстати, у меня тоже не получилось победить экранизацию символов. Все параметры перепробовал, может релиз такой. Попробуйте у себя, у записи JSON есть параметры, с ними поиграть.
Если получится, напишите номер релиза
Мне же пришлось через СтрЗаменить костылить |
VKS 15 - 16.10.20 - 16:40 | где-то тут
ПараметрыJSON = Новый ПараметрыЗаписиJSON(
ПереносСтрокJSON.Авто,// ПереносСтрок.
" ",// СимволыОтступа.
Истина,// ИспользоватьДвойныеКавычки.
ЭкранированиеСимволовJSON.Нет,// ЭкранированиеСимволов.
Ложь,// ЭкранироватьУгловыеСкобки.
Ложь,// ЭкранироватьРазделителиСтрок.
Ложь,// ЭкранироватьАмперсанд.
Ложь,// ЭкранироватьОдинарныеКавычки.
Ложь);// ЭкранироватьСлеш. |
zippygrill 16 - 16.10.20 - 16:46 | |
zippygrill 17 - 16.10.20 - 16:46 | |
zippygrill 18 - 16.10.20 - 17:00 | ( 12) почти то что надо.
записал так//"xmlStr": <?xml version=1.0 encoding="WINDOWS-1251" ?>
надо так//"xmlStr": "<?xml version=1.0 encoding="WINDOWS-1251\" ?>" |
Lexey_ 19 - 16.10.20 - 17:13 | ( 18) добавь кавычки ЗаписьJSON.ЗаписатьБезОбработки("""" + ТекстДляЗаписи + """"); |
ДедМорроз 20 - 16.10.20 - 17:18 | Вообще-то,любой символ json можно писать кодом через \x и две цифры для байта и любой парсер json должен их кушать,если не кушает,то это не json парсер,а txt парсер,тогда пишите ему через ЗаписьТекста и не скачайте json.
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан