JSON: Туда и Обратно

Публикация № 1167222

Разработка - Системная интеграция - Внешние источники данных

JSON 1с77 parse stringify

Рабочий механизм чтения/записи строк в формате JSON для 1С 7.7. Тестировалось на релизах 7.70.25 и 27.

Тема не нова, однако при реализации одного проекта столкнулся с отсутствием нормального механизма работы с данными типа JSON. И да, я не последователь "Любителей ВК", если только это не является действительно необходимым.

Так что, немало порыскав на просторах Бездны, и надергав оттуда идей, проявив недюжинную храбрость и сообразительность... )) Ну, Вы поняли

А еще я сторонник идеи "Информация для всех", потому выложу все тексты для широких масс, благо букв хоть и много, но не слишком. Может, Иегова сочтет за благое деяние (привет Леша).

Тексты в программном коде немного "уплывают" из ограничений в длине строки публикации, в нескольких местах, возможно, придется "обработать напильником" - убрать лишние переносы строк.

 

Источники:

https://gist.github.com/sthor69/8398788

https://forum.mista.ru/topic.php?id=799040

Ниже текст обработки "JSON_Туда_И_Обратно.ert"

 
 

 

А тут небольшой пример ее использования

 
 

 

Скачать файлы

Наименование Файл Версия Размер
JSON: Туда и Обратно
.ert 65,50Kb
12.12.19
8
.ert 65,50Kb 8 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Rustig 1419 16.12.19 15:14 Сейчас в теме
используйте вставку кода и вставку спойлеров в публикации - читать удобнее будет
2. Steelvan 16.12.19 17:17 Сейчас в теме
да, со свертками было бы меньше крутки
3. Volvo32 17 17.12.19 11:11 Сейчас в теме
4. user1061229 07.02.20 11:45 Сейчас в теме
Спасибо за обработку - скачал ее.
Хотел бы сделать полный цикл:
1. Получение по запросу данные в формате JSON. Их сохранение - вопрос как? На 7.7 - через какой объект это можно сделать?
2. Уже обработка JSON

У меня сейчас есть пример для загрузки через API в формате XML
xmlDoc.Load("http://mapon.com/client/export/reaton.xml.php?&date=20200207);
xmlDoc.Save(КаталогИБ()+"ExtForms\autotransport\mapon\20200207.xml");

как тоже самое сделать с JSON?
5. Volvo32 17 11.02.20 13:37 Сейчас в теме
Ну например так:
WinHttp = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
	WinHttp.Option(2,"utf-8");
	WinHttp.Open("GET","http://mapon.com/client/export/reaton.xml.php?&date=20200207",0);
	WinHttp.SetRequestHeader("Content-Type", "application/json");
	WinHttp.Send();   
		
	лпОтвет = WinHttp.ResponseText();

	лпСпс = ОбработатьДанныеJSON(лпОтвет,0);
Показать


ЭТО НЕ РАБОЧИЙ ВАРИАНТ, А ПРОСТО ПРИМЕР ТОГО, КАК МОГЛО БЫ БЫТЬ

Невозможно ответить на вопрос как получить JSON через АПИ. В каждом конкретном случае это решают разработчики АПИ. В этом примере идет получение строки JSON прямо из тела ответа (метод ResponseText).
Теоретически можно сохранять JSON-строку в виде файла на диск, но нет смысла - все равно потом придется прочитать файл и обработать полученный текст.

А сам объект WinHttpRequest весьма рекомендую. В силу привычки, и ради простоты программирования я его даже в 8-ке использую
Оставьте свое сообщение

См. также

Внешняя компонента для подключения к 1С охранного оборудования производства фирмы Bolid

Внешние источники данных Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Компонента для считывания ID магнитного ключа посредством охранного оборудованием производства фирмы Bolid (http://www.bolid.ru) через 1С

1 стартмани

04.04.2012    12915    4    andy_zhav    1    

Внешняя компонента для работы с ДубльГИС (2gis.ru)

Разработка внешних компонент Работа с интерфейсом Внешние источники данных v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Предназначена для взаимодействия с системой ДубльГИС (www.2gis.ru) Работает на платформах 1С: 7.7, 8.х

1 стартмани

18.06.2009    19360    8    rustamakhmetov    45    

Внешняя компонента для работы с Cyberplat

Внешние источники данных Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

С использованием этой внешней компоненты несложно написать свою обработку/конфигурацию для приема платежей в системе киберплат прямо из 1С.

23.09.2008    23586    1    Valerich    78