Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Запись строки JSON в файл

Запись строки JSON в файл
Я
   mua thu
 
26.10.16 - 19:21
Добрый день! Версия 1С:Предприятие 8.2 (8.2.19.83) 
Пожалуйста подскажите:
выгружаю ТЗ в строку JSON - получаю строку вида (СтрокаJSON):
"[
    {
        "Client": "Андрей",
        "City": "Москва",
        "Street": "Чертановская",
        "House": "1"
    }
]"   
Потом пытаюсь записать эту строку в файл .json таким образом:
пФайлИмя =  "D:\Addresses.json";
ЗначениеВФайл(пФайлИмя, СтрокаJSON); 
Файл формируется но при этом нарушается формат строки:

{"S","[
    {
        ""Client"": ""Светлана Водопьянова"",
        ""City"": ""Киев"",
        ""Street"": ""СЕРПОВА"",
        ""House"": "" 11""
    }]"} Добавляются левые кавычки, запятая в первом ключе вместо двоеточия..) 

Как правильно записать строку в файл json? Платформа не поддерживает ЗаписьJSON.   Заранее благодарю!)
 
 
   Cyberhawk
 
1 - 26.10.16 - 19:38
А где ты смотришь эту строку из первого листинга?
   mua thu
 
2 - 26.10.16 - 19:39
Имею ввиду на выходе {"S","[ 
    { 
        ""Client"": ""Андрей"",
        ""City"": ""Москва"",
        ""Street"": ""Чертановская"",
        ""House"": "" 1""
    }]"}
   mua thu
 
3 - 26.10.16 - 19:39
(1) В отладчике
   mua thu
 
4 - 26.10.16 - 19:40
(1)СтрокаJSON =  JSON.ЗаписатьJSON(ТЗ.Выгрузить());
    пФайлИмя =  "D:\Addresses.json";
    ЗначениеВФайл(пФайлИмя, СтрокаJSON);
   Cyberhawk
 
5 - 26.10.16 - 19:41
(3) Так отладчик тебе показывает нормально ее, без экранирующих кавычек
   Cyberhawk
 
6 - 26.10.16 - 19:42
Ну и пиши в файл через УстановитьТекст, а не сериализацию
   zmaximka
 
7 - 26.10.16 - 19:44
Если не ошибаюсь то у ЗаписатьJSON есть еще второй параметр
   mua thu
 
8 - 26.10.16 - 19:46
(5) Да. В строку записалось нормально, а именно при записи в файл все меняется.
(6,7) Спасибо! Попробую.
   zmaximka
 
9 - 26.10.16 - 19:48
Json это ЗаписьJson?
   Живой Ископаемый
10 - 27.10.16 - 05:17
фигня в этом методе:
ЗначениеВФайл(пФайлИмя, СтрокаJSON);//<===
 
 Рекламное место пустует
   anatoly
 
11 - 27.10.16 - 05:23
(0) чем выгружаешь ТЗ в строку json?
поддержка в платформе только в 8.3.6 появилась, емнип, значит что то сторонее используешь - или сам написал?

и пиши как в простой текст.файл!
   ЧеловекДуши
 
12 - 27.10.16 - 08:16
(0) Как понял, что нарушается формат?
   ЧеловекДуши
 
13 - 27.10.16 - 08:22
+ ЗначениеВФайл, так то отрабатывает в штатном режиме :)
Вы пишите файл, другими методами.

А так, 8.3 уже погет работать без посредника в виде файла.
Так же 1с криво воспринимает формат "json"... Сами 1С-ники накрутили лажу.

Лучше пользуйтесь старым методом от 8.2
ДО платформы версии 8.3.6, т.е. 8.3.5 и ниже:
https://helpf.pro/faq82/view/1664.html
   ЧеловекДуши
 
14 - 27.10.16 - 08:25
(11) >>> поддержка в платформе только в 8.3.6

Я бы не делал ставку на эту поддержку.
Если json прилетит из вне, то 1С может не обработать строку "json", как надо :)
  ...подарок от 1С разрабов... ;)
   don_Rumata
 
15 - 27.10.16 - 10:38
(13) если объем большой, то "старый метод" очень, просто очень сильно проигрывает в скорости.
   anatoly
 
16 - 27.10.16 - 10:47
(13) что то я этот "старый метод" еще год назад где-то в интернетах видел, код почти идентичный.

(14) а вот это верно - как раз год назад в 8.2 писал поддержку, используя "старый метод" и пришлось допиливать т.к. некоторые ответы от сайтов он вообще криво распарсивал...
   mua thu
 
17 - 27.10.16 - 10:52
Спасибо! Попробую.)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует