Это не имеет никакого отношения к JSON.
Метод append
интерпретирует то, что вы даете ему как разметку HTML, если вы даете ему строку. Поэтому, естественно, <
символов должны быть правильно закодированы как <
, как и в HTML в целом. Просто закодируйте их, и append
будет работать правильно.
Образец, который вы дали, выглядит как разметка, так как у вас есть <br>
. Проблема заключается в том, что <something>
, который выглядит как тег. Он должен быть <something>
или <something>
.
Если вы хотите текст, который будет интерпретироваться как текст, а не HTML, вы можете использовать метод text
, либо заменяет содержимое div
«s целиком:
$(".info").text(obj[i].message);
... или добавить к нему как ваш код пытается на данный момент:
$(".info").append($("<span>").text(obj[i].message).html());
Это он, когда вы просматриваете источник? попробуйте < вместо < – rene