簡體   English   中英

在PHP的數組中創建具有多個值的JSON對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM