1

私はこれを数日間続けていますが、どこにも行きません。

List オブジェクトを JSON にシリアル化して、Google アナリティクスの e コマース サービスに渡すことができるようにしようとしているので、事前に JavaScript に渡す必要があります。

ただし、json の出力にエラーがあります。

まず、Item クラスがあります。

Item {
    Id,
    Name,
    Sku,
    Price,
    Quantity
}

私のカート クラスにはアイテムのリストが含まれています

public List<Item> Items;

以下を使用してリストをシリアル化しています。

var jsonList = JavascriptSerializer.Serialize(cart.Items);

jsonList は、Razor を使用して javascript に渡されます。

<script type="text/javascript">
    var items = @jsonList;
</script>

ブラウザで生成される結果は次のようになります。

items = [{&quot;Id&quot;:ITEM_ID,&quot;Name&quot;:&quot;ITEM_NAME&quot;,&quot;Sku&quot;:&quot;ITEM_SKU&quot;,&quot;Quantity&quot;:ITEM_QTY,&quot;Price&quot;:ITEM_PRICE},{&quot;Id&quot;:ITEM2_ID,&quot;Name&quot;:&quot;ITEM2_NAME&quot;,etc...}]

だから私はどのように " を取り除き、それらを必要な " に置き換えるかを知りたいのですが、それは私の Item クラスまたは私の JavaScript と関係がありますか?

私は @Html.Raw(items) を試しましたが、うまくいきません - 空の json オブジェクトを返します。

4

2 に答える 2

5

Html.Rawを使用して、エンコードされていない HTML を返すことができます

var items = @Html.Raw(@jsonList);
于 2012-09-03T13:47:12.120 に答える
1

次の投稿で機能する解決策を見つけました。

Razor を使用してエンコードされていない Json をビューに書き込むにはどうすればよいですか?

エンコードされていない HTML について言及してくれた @James に感謝します。

于 2012-09-05T00:09:56.103 に答える