0
vladimir80
16.06.17
✎
00:33
|
Всем привет. Есть http-сервисе есть замечательный метод ПолучитьТелоКакСтроку(). В нем содержится строка, с переданным методом POST массивом из php.
из php уходит
array('q'=>5654,'w'=>8945,'e'=>7878,'r'=>'dsddssd')
в 1с получаю
q=5654&w=8945&e=7878&r=dsddssd
Вопрос: есть ли метод, которым в 1с можно преобразовать эти данные в структуру без тупого парсинга строки?
Заранее благодарю за наводку.
|
|
2
vladimir80
16.06.17
✎
03:30
|
(1) Спасибо! Упорно пытался передать json в составе массива, вместо передачи простой строки.
В общих чертах правильно поступить так:
пхп
$process = curl_init( $url );
curl_setopt($process, CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
curl_setopt($process, CURLOPT_HEADER, 0);
curl_setopt($process, CURLOPT_USERPWD, $this->options['user'] . ":" . $this->options['pass']);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
if ($postfields && is_array($postfields)){
curl_setopt($process, CURLOPT_POST, count($postfields));
curl_setopt($process, CURLOPT_POSTFIELDS, json_encode($postfields));
}
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);
curl_close($process);
1с
Ответ = Новый HTTPСервисОтвет(200);
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Запрос.ПолучитьТелоКакСтроку());
Результат = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
в итоге массив получаем в структуру.
Спасибо!
|
|