Не удается создать экземпляр значения типа в Json - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь опубликовать массив, который был закодирован в json.

В строке JSON

{"name":"q_4","label":"Are you ...","description":"Are you ...","groupName":"Questionnaire","type":"enumeration","fieldType":"select","formField":true,"options":["Male","Female"]}

я получаю ошибку

Неверный ввод JSON в строке 1, столбец 163. Не удается создать экземпляр значения типа [простой тип, класс com.hubspot.inbounddb.properties.views.OptionView] из значения String ('Male'); нет однострокового конструктора / фабричного метода

Строка json считается пройденной при тестировании на json lint.

Я использую приведенный ниже код для публикации моего json.

$jsonData = json_encode($jdata);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $createType);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($jsonData))
);
$result = curl_exec($ch);

1 Ответ

0 голосов
/ 10 июня 2019

Вы должны передать опции в виде массива объекта с меткой и значением следующим образом:

"options": [
    {
        label: "Male",
        value: "male"
    },
    {
        label: "Female",
        value: "female"
    }
]

Здесь вы можете посмотреть пример для перечисления (флажок): https://developers.hubspot.com/docs/methods/contacts/v2/create_contacts_property

...