[英]Create JSON object with multiple values inside an array in PHP
我正在使用Acuity Scheduling API,為了發布自定義字段,我需要在數組內部有一個JSON對象,該對象具有2個鍵/對值,id和value。 這是我目前的代碼:
$postarray = array (
'datetime'=>'2017-02-01T14:00:00-0800',
'appointmentTypeID'=>'Appt ID',
'firstName'=>'First Name',
'lastName'=>'last Name',
'email'=>'myemail',
'phone'=>'phone #',
'fields' => array(
array('id'=>'1234', 'value'=>'Field Data')
)
);
$post = json_encode($postarray);
我在'fields'數組內有一個數組,因為我不知道如何在數組內添加帶有2個值的json對象,然后該數組將通過json_encode,因為請求要求先將其轉換為JSON,然后再進行操作已發送。
當前正在給我這個錯誤:“ {” status_code“:400,” message“:”此約會中不存在攝入形式字段\\ u00221234 \\ u0022。”在“ u0022”之后的位置添加到我的字段ID上。我需要使我的主數組成為JSON對象,“字段”成為數組,然后將單獨的ID和值對作為自己的對象,就像這樣(直接來自Acuity Scheduling API):
{
"datetime": "2016-02-03T14:00:00-0800",
"appointmentTypeID": 1,
"firstName": "Bob",
"lastName": "McTest",
"email": "bob.mctest@example.com",
"certificate": "ABC123",
"fields": [
{"id": 1, "value": "Party time!"}
]
}
這是針對此特定請求的參考的Acuity Scheduling API, https://developers.acuityscheduling.com/reference#post-appointments
'fields' => array(
json_encode(array('id'=>'1234', 'value'=>'Field Data'))
)
ID應該是數字,而不是字符串,因此請勿將其用引號引起來。
$postarray = array (
'datetime'=>'2017-02-01T14:00:00-0800',
'appointmentTypeID'=>'Appt ID',
'firstName'=>'First Name',
'lastName'=>'last Name',
'email'=>'myemail',
'phone'=>'phone #',
'fields' => array(
array('id'=> 1234, 'value'=>'Field Data')
)
);
如果要從腳本參數獲取ID,請使用intval()
將其從字符串轉換為數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.