如何使用序列化器从对象创建json文件?

时间:2019-10-08 10:21:49

标签: json symfony object serializer

这是我的对象$ input:

$input = $this->em->getRepository(Data::class)->findAll();

  foreach($input as &$arr){
        $arr->{"Sunshine"} = 'Clouds';
    }

$ input的输出:

Data {#1523 ▼
  -id: 23
  -name: "cat"
  -timestamp: DateTime @1570445917 {#1517 ▶}
  +"Sunshine": "Clouds"
}

我正在使用序列化程序来创建JSON文件$data

  // Serialize your object in JSON
  $context = [
   'circular_reference_handler' => function ($object) {
        return $object->getId();
      },
      'circular_reference_limit' => 0,
    ];

  $data = $serializer->serialize($input, 'json', $context);

$ data:

"[{"id":21,"name":"cat","timestamp":"07.10.2019"}] ◀"

我想知道为什么JSON文件中没有“ Sunshine”。它与+有关系吗? +是什么意思?

1 个答案:

答案 0 :(得分:1)

我认为您分配的密钥不正确。密钥应该这样分配:

$arr['keyName'] = $value

您要像这样分配它:

$arr->{"keyName"} = $value

希望我能为您提供答案!

相关问题