Как мне включить переменную в многомерную строку JSON?

#php #json #curl

#php #json #curl

Вопрос:

Я пытаюсь включить переменные в многомерную строку JSON. Я думаю, мне нужно использовать json_encode, но я не уверен, как это сделать.

 $clientID = 123456;
$body = "<h1 id='heading1'>This is just a standard html message.</h1>";

curl_setopt($ch, CURLOPT_POSTFIELDS, "{
    "subject": "How Did We Do",
    "clientId": $clientID,
    "assignedUserId": 2988,
    "public": false,
    "activity": [
    {
      "public": false,
      "comment": {
          "body": $body
      }
    }
    ]
}");
  

Комментарии:

1. Почему вы вручную создаете строку json?

2. Для вызова API я не знаю другого способа.

Ответ №1:

Вы должны создать массив и использовать json_encode() его для его кодирования.

 $array = [
    'subject' => 'How Did We Do',
    'clientId' => $clientID,
    'assignedUserId' => 2988,
    'public' => false,
    'activity' => [
        [
            'public' => false,
            'comment' => [
                'body' => $body
            ]
        ]
    ]
];

curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($array));
  

Комментарии:

1. Спасибо, я собираюсь попробовать это!