Как передать массив в POST запросе?

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 434
Баллы
113
Так как встроенный в ЗП кубик по работе с Article Forge давно не работает (не понимаю только почему не удалят его), то работаю с этим сервисом запросами по API.
Всё отлично, кроме передачи параметра auto_links в котором должен быть массив.
Вот отрывок из документации по формату этого параметра:
auto_links : replace specific keyword within the article with a designated link. You can choose whether to replace just the first occurrence or all of them. The data structure should be an array following this pattern: [keyword1, url1, all_occurrence?, keyword2, url2, all_occurrence?,...] An example scenario would be: Replace 'keyword1' with 'www.keyword1.com' (Only first occurrence), Replace keyword2 with 'www.keyword2.com' (All occurrences) auto_links should be as follows: ["keyword1","www.keyword1.com", false, "keyword2", "www.keyword2.com", true] Note: The array NEEDS to be a multiple of 3.
Тип данных: application/json
И сам JSON такой:
Код:
{
"key" : "9d643345345cf0f",
"keyword" : "{-Variable.keyword-}",
"sub_keywords" : "{-Variable.sub_keywords-}",
"length" : "medium",
"title" : "1",
"image" : "1",
"auto_links" : "[\"{-Variable.keyword-}\",\"https:\/\/domain.com\/game\/clash\",false]"
}
Без параметра "auto_links" всё нормально, но как я только его не менял (одинарные кавычки, без кавычек, URLencode) - бесполезно, постоянно приходит ошибка "invalide auto_links".
Поддержка у AF отсутствует.
Что посоветуете, как попробовать передать этот массив?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
А если убрать внешние кавычки? Вот так:
JavaScript:
{
"key" : "9d643345345cf0f",
"keyword" : "{-Variable.keyword-}",
"sub_keywords" : "{-Variable.sub_keywords-}",
"length" : "medium",
"title" : "1",
"image" : "1",
"auto_links" : ["{-Variable.keyword-}","https:\/\/domain.com\/game\/clash",false]
}
 
  • Спасибо
Реакции: Astraport

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 434
Баллы
113

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
C#:
object ob = new {
    key = "9d643345345cf0f",
    keyword = project.Variables["keyword"].Value,
    sub_keywords = project.Variables["sub_keywords"].Value,
    length = "medium",
    title = "1",
    image = "2",
    auto_links = new List<string>(){project.Variables["keyword"].Value,"http://site.ru/link"}
};
return Global.ZennoLab.Json.JsonConvert.SerializeObject(ob);
 
Последнее редактирование:
  • Спасибо
Реакции: Astraport

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 434
Баллы
113
nicanil Спасибо, рабочий вариант. С первого раза один лишний слэш не удалил.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)