Недопустимый Json при сериализации объекта с использованием JMSSerializer с тегами HTML содержимого полей

Я установил JMSSerializerbundle с symfony2, чтобы получить ответ JSON от моих сущностей Doctrine.

Проблема в том, что когда у меня есть строковое поле, созданное 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‹/p>",
----------------------- ^ Ожидается "STRING", "NUMBER", "NULL", "TRUE", "FALSE", "{", "["


person Hamza MHIRA    schedule 19.12.2013    source источник


Ответы (1)


Вы должны кодировать HTML, если хотите сохранить его в JSON. На стороне сервера (PHP) должны помочь htmlentities. На стороне клиента см. этот вопрос: Экранирование строк HTML с помощью jQuery.

person oleq    schedule 19.12.2013