我已经在这几天了,并且无处可去。
我正在尝试将List对象序列化为JSON,以便将其传递给Google Analytics的电子商务服务,因此需要事先将其传递给javascript。
但是,json输出有错误。
首先,我有一个Item类。
Item {
Id,
Name,
Sku,
Price,
Quantity
}
我的购物车类包含商品列表
public List<Item> Items;
我正在使用以下序列化列表。
var jsonList = JavascriptSerializer.Serialize(cart.Items);
然后使用Razor将jsonList传递给javascript,如此 -
<script type="text/javascript">
var items = @jsonList;
</script>
在浏览器中生成的结果如下所示:
items = [{"Id":ITEM_ID,"Name":"ITEM_NAME","Sku":"ITEM_SKU","Quantity":ITEM_QTY,"Price":ITEM_PRICE},{"Id":ITEM2_ID,"Name":"ITEM2_NAME",etc...}]
所以我想知道如何摆脱&amp; quot并用所需的“替换它们”。 它与我的Item类或我的javascript有关吗?
我已经尝试过@ Html.Raw(项目)而没有运气 - 返回一个空的json对象。
答案 0 :(得分:5)
您可以使用Html.Raw返回未编码的HTML
var items = @Html.Raw(@jsonList);
答案 1 :(得分:1)
找到了适用于以下帖子的解决方案。
How do I write unencoded Json to my View using Razor?
感谢@James提及未编码的HTML - 这让我走上了正确的道路。