0
我有一個類,我想序列化,但exclude
一個公共屬性。到目前爲止,我嘗試@Exclude
但我沒有工作(請參見結果)。JMS序列化程序排除公共屬性
任何想法如何解決這個問題?
實體:
class Checkout extends Entity
{
/**
* @Exclude()
*/
public $normalizerCallbacks = [
'a' => 1,
'b' => 2,
];
..........
序列化:
$checkout = $this->getDoctrine()->getRepository('App:Checkout')->find($id);
$serializer = $this->get('jms_serializer');
$data = $serializer->serialize($checkout, 'json');
結果:
{
normalizer_callbacks: {
a: 1
b: 2
}
}
編輯:試用2015年9月10日18 - >不工作
use JMS\Serializer\Annotation as JMS;
/**
* User
*
* @ORM\Table(name="checkout", options={"collate"="utf8_general_ci"})
* @ORM\Entity
*
* @JMS\ExclusionPolicy("none")
*/
class Checkout extends Entity
{
/**
* @JMS\Exclude();
*/
public $normalizerCallbacks = [
...
編輯:試用2015年9月11日09(更新12) - >配置
- 加入
"jms/serializer-bundle": "^1.0"
作曲家和運行更新 - 添加
new JMS\SerializerBundle\JMSSerializerBundle()
到AppKernel
- 添加
jms_serializer.camel_case_naming_strategy.class: JMS\Serializer\Naming\IdenticalPropertyNamingStrategy
parameters.yml
- 然後用它作爲序列化
仍然無法使用! – lony
請看我更新的回答 – LBA
我試過'試用2015-09-10 18'版本,但還是沒有成功! – lony