使用带有字段内容HTML标记的JMSSerializer序列化实体时,Json无效

时间:2013-12-19 10:06:59

标签: json symfony ckeditor jmsserializerbundle

我使用symfony2安装了JMSSerializerbundle以获取我的Doctrine实体的JSON响应。

问题是当我有一个由ckeditor和内容HTML标签创建的字符串字段时,我收到了无效的JSON响应。

    "courses": [
    {
        "requests": [

        ],
        "id": 38,
        "course_content": "
            pmlllo<\/p>",
        "course_title": "hhjhhhh",
        "course_type": {
            "id": 3,
            "name": "Dershane Dersi",
            "courses": [

            ]
        },
        "description": "

             ppoookokokok<\/p>"
    }
 ]

使用http://jsonlint.com/我收到了此错误

第154行的解析错误:...
“course_content”:“pmlllo&lt; / p&gt;”,
----------------------- ^ 期待'STRING','NUMBER','NULL','TRUE','FALSE','{','['

1 个答案:

答案 0 :(得分:2)

如果要将其存储在JSON中,则必须对HTML进行编码。在服务器端(PHP),htmlentities应该可以解决问题。对于客户端,请参阅此问题:Escaping HTML strings with jQuery