Размещать вложенные параметры, используя Curl в PHP - PullRequest
0 голосов
/ 16 июня 2019

Это тело запроса, которое мне нужно отправить - (запрос Curl POST в PHP)

$data = {
    "paramOne" : "f733787d-5649",
    "paramTwo": {
        "format": "123XD"
    },
    "paramThree": [
      {"type":"cn", "value":"Test User Manish 1"},
      {"type":"c", "value":"US"}
    ]
};

Я пытаюсь использовать его в этой строке моего запроса Curl в PHP-

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

Вложенные параметры портят формат, в котором я пытаюсь отправить.

Я уже пытался использовать http_build_query , но тогда paramThree вызывает проблемы. Я ищу изменения, которые мне нужно внести в формат $ data, прежде чем использовать для него http_build_query.

1 Ответ

1 голос
/ 16 июня 2019

Это JSON. Вы можете опубликовать его как строку (заключенную в кавычки) или сначала создать массив, преобразовать его в JSON, а затем опубликовать. Как это:

$array = [
    'paramOne' => 'f733787d-5649',
    'paramTwo' => [
        'format' => '123XD'
        ],
    'paramThree' => [[
        'type' => 'cn',
        'value' => 'Test User Manish 1'
        ],
        [
        'type' => 'c',
        'value' => 'US'
            ]]
    ];

$data = json_encode($array);

В обоих случаях используйте

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...