|
Как прочитать файл типа json ?
| ☑ |
0
AndrVik
07.05.21
✎
09:54
|
Есть сторонняя база - не 1С. Она выгружает данные в структуре json. формат TXT, кодировка ANSI или Unicod.
Как можно его прочитать ?
Есть ли примеры ?
|
|
1
mikecool
07.05.21
✎
09:55
|
ЧтениеJSON
|
|
2
AndrVik
07.05.21
✎
09:55
|
Пример кода из файла
{"documents":[{"IDDOC":31829,"NOMERDOC":"21\\\u0420\u0415-30553","DTDOC":"2021-05-05T00:00:00.000Z","IDPST":null,"NAME_PST":"","IDTIP":206,"NAME_TIP":"\u0418\u0437\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u041A\u043E\u043D\u0441\u0442\u0440. \u041F\u0412\u0425","FLG":1,"NAME_FLG":"\
|
|
3
AndrVik
07.05.21
✎
09:57
|
(1)никогда не работал, увы. Где бы почитать и пример ы увидеть
|
|
4
AndrVik
07.05.21
✎
09:58
|
начну с простого.
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Данные);
А как эти данные из файла подпихнуть ?
|
|
5
Fragster
гуру
07.05.21
✎
09:58
|
точно также, как с чтением XML, но начальный объект - чтениеJSON. Ну и удобный метод "ПрочитатьJson", описанный в синтакс помощнике.
|
|
6
Fragster
гуру
07.05.21
✎
09:59
|
(4) там кроме УстановитьСтроку другие методы есть
|
|
7
ДенисЧ
07.05.21
✎
09:59
|
(4)
чтение = Новый ЧтениеJSON;
чтение.УстановитьСтроку(тут строка из твоего файла, целиком)
результат = ПрочитатьJSON(чтение, Истина)
В результат - будет соответствие с твоими данными
|
|
8
AndrVik
07.05.21
✎
10:02
|
А как быть если в файле несколько документов. В теории должно быть деревья ?
|
|
9
AndrVik
07.05.21
✎
10:03
|
(7)спасибо
|
|
10
Kassern
07.05.21
✎
10:03
|
|
|
11
dmt
07.05.21
✎
10:25
|
Функция ИзJSON(Значение, ВСоответствие=Истина, этоПутьКФайлу=Ложь) Экспорт
чтение = Новый ЧтениеJSON;
Если этоПутьКФайлу Тогда
чтение.ОткрытьФайл(Значение);
Иначе
чтение.УстановитьСтроку(Значение);
КонецЕсли;
рез = ПрочитатьJSON(чтение, ВСоответствие);
чтение.Закрыть();
Возврат рез;
КонецФункции
|
|
12
tmk315
07.05.21
✎
10:47
|
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший