Имя атрибута структуры

1. Andrey1804 3 17.10.20 14:10 Сейчас в теме
Всем доброго дня, помогите решить задачу, нужно передать post запрос с параметрами вида
[
{
	"completeness-checking": true,
	"index-to": "100427",
        "courier": true,
	"declared-value": 0,
	"dimension": {
		"height": 0,
		"length": 0,
		"width": 0
	},
Показать

 тДанные = Новый Структура;
                тДанные.Вставить("index-to", индекс);

Но ругается на Задано неправильное имя атрибута структуры из-за дефисов, как решить проблему ?
По теме из базы знаний
Найденные решения
9. spacecraft 17.10.20 16:07 Сейчас в теме
(7) это тело запроса строкой в формате json.
Его сами формируете. Причем тут переменные запроса?
Как и сказал выше используйте соответствие вместо структуры.
Что-то в этом роде:
тДанные = Новый Соответствие;
// заполняем данные
тДанные["index-to"] = индекс;
Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку();
ЗаписатьJSON(Запись, тДанные);
ВыходныеДанные = Запись.Закрыть();

HTTPЗапрос = Новый HTTPЗапрос();
// устаналиваем заголовки
HTTPЗапрос.УстановитьТелоИзСтроки(ВыходныеДанные);
Результат  = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
Показать
Andrey1804; suepifanov; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. spacecraft 17.10.20 15:40 Сейчас в теме
(1) вместо Структуры использовать Соответствие.
6. suepifanov 963 17.10.20 15:55 Сейчас в теме
(1)
индекс


уточните у принимающие стороны, может вам нужно передать просто текст этот, а там уже сами разбирать будут?
7. Andrey1804 3 17.10.20 15:57 Сейчас в теме
(6) принимающая сторона почта России, у них есть свой api и есть описание переменных
8. suepifanov 963 17.10.20 16:00 Сейчас в теме
(7) ну так как другого описания от вас нет, то я бы подумал, что надо просто в теле передать.

ну типа - ЗапросHTTP.УстановитьТелоИзСтроки(СтрокаСПараметрами, КодировкаТекста.UTF8);
9. spacecraft 17.10.20 16:07 Сейчас в теме
(7) это тело запроса строкой в формате json.
Его сами формируете. Причем тут переменные запроса?
Как и сказал выше используйте соответствие вместо структуры.
Что-то в этом роде:
тДанные = Новый Соответствие;
// заполняем данные
тДанные["index-to"] = индекс;
Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку();
ЗаписатьJSON(Запись, тДанные);
ВыходныеДанные = Запись.Закрыть();

HTTPЗапрос = Новый HTTPЗапрос();
// устаналиваем заголовки
HTTPЗапрос.УстановитьТелоИзСтроки(ВыходныеДанные);
Результат  = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
Показать
Andrey1804; suepifanov; +2 Ответить
10. Andrey1804 3 17.10.20 16:12 Сейчас в теме
(9)
тДанные = Новый Соответствие;

Спасибо, буду пробовать
Подскажите, как правильно оформить :
"dimension": {
        "height": 0,
        "length": 0,
        "width": 0
    }
2. starjevschik 17.10.20 14:33 Сейчас в теме
заменить дефис на что-нибудь
3. FatPanzer 17.10.20 15:08 Сейчас в теме
(2)
заменить дефис на что-нибудь
Тогда получится "indexчто-нибудьto"... Тоже не сработает.
4. Andrey1804 3 17.10.20 15:32 Сейчас в теме
11. spacecraft 17.10.20 16:18 Сейчас в теме
(10)
можно так:
тДанные["dimension"] = Новый Структура("height,length,width",0,0,0);
user1464234; Andrey1804; +2 Ответить
12. Andrey1804 3 26.10.20 20:53 Сейчас в теме
(11) подскажите, а такой вариант как написать? , ключи одинаковые
 "tariffList":
        [
            {
                "id":1
            }, 
            {
                "id":8
            }
        ],
Показать
13. FatPanzer 26.10.20 21:07 Сейчас в теме
(12) Массив из структур, в каждой структуре - один элемент...
user1464234; +1 Ответить
14. spacecraft 26.10.20 21:29 Сейчас в теме
(12)
tariffList = Новый Массив;
tariffList.Добавить(Новый Структура("id", 1));
tariffList.Добавить(Новый Структура("id", 8));
тДанные["tariffList"] = tariffList;
Andrey1804; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот