1. rav1107 13.04.19 07:47 Сейчас в теме

Отправка json методом POST и с параметром data

Добрый день всем, Помогите пожалуйста как отправить JSON с параметром data? Я отправляю данные на сайт в JSON с 1с разработчик просит отправить JSON с параметром data я вот не понимаю как так отправить. Разработчик дал мне пример в каком виде должен быть JSON

ВОТ:
dat a:{
test1:"test1",
test2:"test2"
}

А у меня формируется вот такой код JSON

{"data":
[{
"firs_name":"Ма",
"last_name":"Ра"
}]
}
Ответы
Избранное Подписка Сортировка: Древо
3. independ 375 13.04.19 08:05 Сейчас в теме
(1) это обычный текст, можно сформировать строку без применения json
4. rav1107 13.04.19 08:07 Сейчас в теме
5. independ 375 13.04.19 08:14 Сейчас в теме
(4)
Текст="ВОТ: dat a:{" 
Для каждого меед из мПолучитьЗаказ.МедицинскиеУслуги цикл
             Если меед.МедицинскоеРабочееМесто.ВыгрузкаВЛис = Истина тогда
                 Текст=Текст+"first_name:"""+ВыборкаДетальныеЗаписи.Фамилия+""",";  
 Текст=Текст+"last_name:"""+ВыборкаДетальныеЗаписи.Имя+"""}";  
              КонецЕсли; 
         КонецЦикла;
6. rav1107 13.04.19 08:16 Сейчас в теме
(5) а в JSON не нужно преобразовать дальше?
7. independ 375 13.04.19 08:17 Сейчас в теме
8. rav1107 13.04.19 08:30 Сейчас в теме
(7) как то не понятно получается у меня
2. rav1107 13.04.19 07:52 Сейчас в теме
Это код отправки на сайт, и правильно ли я отправляю?? это POST запрос?? я просто новичок))


мПолучитьЗаказ = Заказ.ПолучитьОбъект();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ДанныеПациентов.Фамилия,
		|	ДанныеПациентов.Имя,
		|	ДанныеПациентов.Отчество
		|ИЗ
		|	РегистрСведений.ДанныеПациентов КАК ДанныеПациентов
		|ГДЕ
		|	ДанныеПациентов.Пациент = &Пациент";
	
	Запрос.УстановитьПараметр("Пациент", мПолучитьЗаказ.Пациент);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	 //Создали ЗапистJSON
	ЗаписьJSON = Новый ЗаписьJSON;
	тПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет," ",Истина);
	ЗаписьJSON.УстановитьСтроку(тПараметрыJSON);
	
	МассивДанныхJSON = Новый Массив;
	СтрукдураДанныхJSON = Новый Структура;
	
	 //Выбираем данные из запроса и записываем в массив "МассивДанныхJSON"       
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		 Для каждого меед из мПолучитьЗаказ.МедицинскиеУслуги цикл
			 Если меед.МедицинскоеРабочееМесто.ВыгрузкаВЛис = Истина тогда	 
				 зДанные = Новый Структура;
				 зДанные.Вставить("firs_name", ВыборкаДетальныеЗаписи.Фамилия);
				 зДанные.Вставить("last_name", ВыборкаДетальныеЗаписи.Имя);
				 
				 //Добавляем структуру с информацией о Заказе в наш массив "МассивДанныхJSON" 
				 МассивДанныхJSON.Добавить(зДанные);
			 КонецЕсли; 
		 КонецЦикла;
	 КонецЦикла;    
	// вставляем наш массив в еще одну структуру
	СтрукдураДанныхJSON.Вставить("data",МассивДанныхJSON);
	ЗаписатьJSON(ЗаписьJSON, СтрукдураДанныхJSON);
	
	//Здесь нам платформа переделала нашу сложную структуру в строку данных в формате JSON 
	СтрокаJS = ЗаписьJSON.Закрыть();
	ФайлОтвета = КаталогВременныхФайлов()+ "\answer.txt";
	Ответ = СтрокаJS;
	
	//здесь надо указать путь к сайту
	HTTPСоединение = Новый HTTPСоединение("Адрес сайта");
	//создаем запрос данных методом POST
	запросPOST = Новый HTTPЗапрос("/ap/dat");
	
	//это обязательный заголовок тела запроса
	запросPOST.Заголовки.Вставить("Content-type", "application/x-www-form-urlencoded");
	
	//Здесь задаем текст нашей отформатированной строки + задаем формат сроки
	запросPOST.УстановитьТелоИзСтроки("mData="+СтрокаJS,"windows-1251",ИспользованиеByteOrderMark.НеИспользовать);
	
	Попытка
	//Отправляем для обрааботки на наш сервер
		Результат = HTTPСоединение.ОтправитьДляОбработки(запросPOST,ФайлОтвета);
		КодОтвета = Результат.КодСостояния;
	Исключение
		#Если клиент Тогда
           Сообщить(ОписаниеОшибки());
	   #КонецЕсли
	КонецПопытки;

Показать
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 135 000 руб. до 135 000 руб.
Полный день

Программист 1С
Норильск
зарплата от 50 000 руб. до 80 000 руб.
Полный день

Руководитель отдела внедрения 1С
Новосибирск
зарплата от 60 000 руб. до 160 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 120 000 руб. до 150 000 руб.
Полный день