簡體   English   中英

php-使用對象創建JSON數組

[英]php - Create a JSON array with objects

我正在嘗試通過PHP以這種格式創建JSON數組:

{
   "Commands":[
      {
         "StopCollection":true
      },
      {
         "Send":false
      },
      {
         "HeartbeatSend":60
      }
   ]
}

我要做的最接近的是:通過使用JSON_FORCE_OBJECT

  $commands = array();
  $commands['Commands'] = array();
  array_push($commands['Commands'],array('StopCollection' => true));
  array_push($commands['Commands'],array('Send' => false));
  array_push($commands['Commands'],array('HeartbeatSend' => 60));

  $jsonCommands = json_encode($commands, JSON_FORCE_OBJECT);

哪個輸出

{
   "Commands":{
      "0":{
         "StopCollection":true
      },
      "1":{
         "Send":false
      },
      "2":{
         "HeartbeatSend":60
      }
   }
}

並使用(object)

  $commands = (object) [
    'Commands' => [
      'StopCollection' => true,
      'Send' => false,
      'HeartbeatSend' => 60
    ]
  ];

  $jsonCommands = json_encode($commands);

哪個輸出

{
   "Commands":{
      "StopCollection":true,
      "Send":false,
      "HeartbeatSend":60
   }
}

兩者都很接近,但我需要Commands是沒有鍵的對象數組。 我怎么做?

如果要從$ commands Try中刪除索引,

json_encode( array_values($commands) );

你可以這樣做

$commands = array(
    'Commands' => array(
      array('StopCollection' => true),
      array('Send' => false),
      array('HeartbeatSend' => 60)
    )
  );

$jsonCommands = json_encode($commands);
print_r($jsonCommands);

干得好:

$arr["Commands"] = [
     ["StopCollection" => true],
     ["Send" => false],
     ["HeartbeatSend" => 60],
];
echo json_encode($arr);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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