【发布时间】:2018-08-25 11:36:29
【问题描述】:
我想将对象 json 字符串传递给 javascript 函数,但遇到一些错误。请帮忙。提前致谢。我正在使用 MVC5,
我的代码如下
.cshtml 内
<a href="javascript:void(0);" onclick="addToOrder('@JsonConvert.SerializeObject(item)')">@item.NAME</a>
我的 json 值在 addToOrder() 函数中的样子,
{
"ITEM_ID": 1,
"NAME": "PEPPER POPPERS",
"FOOD_TYPE": "VEG",
"SIZES": [
{
"SIZE": "FULL",
"PRICE": 220.00
},
{
"SIZE": "MEDIUM",
"PRICE": 170.00
},
{
"SIZE": "8\"",
"PRICE": 50.00
},
{
"SIZE": "12\"",
"PRICE": 40.00
}]
}
在 javascript 函数中 JSON.parse "SIZE": "8\"" 时抛出错误!
浏览器控制台出错
Uncaught SyntaxError: Unexpected string in JSON at position 37
at JSON.parse (<anonymous>)
at addToOrder (restaurantCounter.js:130)
at HTMLAnchorElement.onclick (1?deptid=6&counterid=1&department=1 AC:933)
请帮忙。谢谢。
【问题讨论】:
-
"SIZE": "8\"" 多了一个"
-
我认为问题在于你有一个字段
"SIZE" : "8\""。您可以使用其他语法:"SIZE" : '8"'。问题是该函数无法识别\"符号并将其视为普通“ -
单引号对 JSON 有效吗?我认为规范明确说明了双引号
标签: javascript json razor asp.net-mvc-5