2

JSONは次のとおりです。

{ "expression" : "Hello World",
  "message" : "Hello<br>World. I'm trying also to write <something> inside greater than and lower than signs."
},

jQuery は次のとおりです。

$(".info").append(obj[i].message);

HTMLは次のとおりです。

<div class="info"></div>

私が得るのは、「<」と「>」内のすべてがdivに表示されないということです。

4

1 に答える 1

4

これは JSON とは関係ありません。

文字列を指定すると、このappendメソッドは指定したものを HTML マークアップとして解釈します。当然のことながら、一般的な HTML と同様に、<文字は として適切にエンコードする必要があります。&lt;それらをエンコードするだけで、append正しく機能します。

あなたが与えたサンプルは、マークアップを意図しているように見えます<br>. 問題は、<something>タグのように見える です。&lt;something>またはである必要があります&lt;something&gt;

テキストを HTML ではなくテキストとして解釈する場合は、メソッドを使用して、のコンテンツを完全textに置き換えることができます。div

$(".info").text(obj[i].message);

...または、コードが現在試みているように追加します:

$(".info").append($("<span>").text(obj[i].message).html());
于 2013-07-14T12:11:23.850 に答える