3

これをJqueryAjax呼び出しに応答すると、うまく機能します。

var jSonTestResultReport =@"{ ""html"" : ""I am text!"" }";

Javascriptはそれを受け取り、テキストを受け取り、それをで表示します。Div私はそれがと言っているのを見ることができます"I am Text"

しかし、私がこれをやろうとすると:

var jSonTestResultReport =@"{ ""html"" : ""<li style=""color:green;"">I am text</li>"" }";

エラーが発生します

予期しないトークンc。

どうすれば送信できますhtmlJson

4

3 に答える 3

7
var jSonTestResultReport =@"{ ""html"" : ""<li style=""color:green;"">I am text</li>"" }";

としてjson文字列を作成します

{ "html" : "<li style="color:green;">I am text</li>" }

これは無効です。unexpected token c.の最初の文字に由来しcolorます。

json を手動で形成する代わりに、実際の json パーサーを使用します。

var json = JsonConvert.SerializeObject(new { html=@"<li style=""color:green;"">I am text</li>" });

PS:var jSonTestResultReport =@"{ ""html"" : "I am text!" }";コンパイルできません。

于 2012-09-28T11:31:49.623 に答える
1

"" qoutes like \"" をエスケープ<li ... >する

var jSonTestResultReport =
     @"{ ""html"" : ""<li style=\""color:green;\"">I am text</li>"" }";
于 2012-09-28T11:27:56.270 に答える
0

jQuery.parseJSONメソッドを使用してみませんか。これは、多くの二重引用符で使用している方法よりも明確で読みやすくなっています。

例えば

var obj = jQuery.parseJSON('{"html": "<listyle='color: green;'>Iamtext</li>"}');

また、処理を高速化するために、JsonLintバリデーターを使用してjsonオブジェクトを検証することをお勧めします

于 2012-09-28T11:25:46.907 に答える