无效的属性ID错误 - List <> c#ASP.NET中的JSON对象

Tom*_*ard 1 javascript c# asp.net json razor

我已经在这几天了,而且无处可去.

我正在尝试将List对象序列化为JSON,因此可以将其传递给Google Analytics的电子商务服务,因此需要事先将其传递给javascript.

但是,json输出有错误.

首先,我有一个Item类.

Item {
    Id,
    Name,
    Sku,
    Price,
    Quantity
}
Run Code Online (Sandbox Code Playgroud)

我的购物车类包含商品列表

public List<Item> Items;
Run Code Online (Sandbox Code Playgroud)

我正在使用以下序列化列表.

var jsonList = JavascriptSerializer.Serialize(cart.Items);
Run Code Online (Sandbox Code Playgroud)

然后使用Razor将jsonList传递给javascript,如此 -

<script type="text/javascript">
    var items = @jsonList;
</script>
Run Code Online (Sandbox Code Playgroud)

在浏览器中生成的结果如下所示:

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...}]
Run Code Online (Sandbox Code Playgroud)

所以我想知道我是如何摆脱"并用所需的"代替它们.它是否与我的Item类或我的javascript有关?

我试过@Html.Raw(项目)而没有运气 - 返回一个空的json对象.

Jam*_*mes 5

您可以使用Html.Raw返回未编码的HTML

var items = @Html.Raw(@jsonList);
Run Code Online (Sandbox Code Playgroud)