下面的键randoms
可以包含任何键值对,因此您输入的任何内容(只要它在值键对中)都将被接受。例如<tomato>nonsense</tomato>
。但是我的映射没有选择它们,所以我得到一个空数组randoms
。我错过了什么?
注意:我在public $randoms;
下面列出了我尝试过的所有内容。我正在使用"jms/serializer-bundle": "0.13.0",
带有 Symfony2 的 composer 包。
有效载荷
<?xml version="1.0" encoding="UTF-8"?>
<product id="1">
<title>Samsung</title>
<randoms>
<review>710</review>
<popularity>good</popularity>
</randoms>
</product>
模型映射
namespace Application\BackendBundle\Model\Api\Xml;
use JMS\Serializer\Annotation as Serializer;
/**
* @Serializer\XmlRoot("product")
*/
class Product
{
/**
* @Serializer\Type("string")
*/
public $title;
/**
* @Serializer\Type("array<string, string>")
* @Serializer\XmlKeyValuePairs
*/
public $randoms;
/**
* @Serializer\Type("array<string, string>")
* @Serializer\XmlKeyValuePairs
*/
public $randoms = [];
/**
* @Serializer\Type("array")
* @Serializer\XmlKeyValuePairs
*/
public $randoms = [];
/**
* @Serializer\Type("array")
* @Serializer\XmlKeyValuePairs
*/
public $randoms;
/**
* @Serializer\Type("array")
*/
public $randoms;
/**
* @Serializer\Type("array")
*/
public $randoms = [];
}
JSON响应
{
"title": "Samsung",
"randoms": []
}