【问题标题】:JSON returned from JsonConvert.SerializeObject(obj) returnserro " Unexpected token & " in Json.parse从 JsonConvert.SerializeObject(obj) 返回的 JSON 在 Json.parse 中返回“Unexpected token &”
【发布时间】:2019-04-28 06:31:44
【问题描述】:
model.DepartmentsList = list;
model.DepartmentsListJson = JsonConvert.SerializeObject(model.DepartmentsList); 

返回这个JSON

"[{\"DeptNo\":\"d006\",\"DeptName\":\"Production\",\"FromDate\":null,\"ToDate\":null},{\" DeptNo\":\"d007\",\"DeptName\":\"Sales\",\"FromDate\":null,\"ToDate\":null},{\"DeptNo\":\"d009\ ",\"部门名称\":\"客户 服务\",\"FromDate\":null,\"ToDate\":null},{\"DeptNo\":\"d021\",\"DeptName\":\"DEV\",\"FromDate\ ":null,\"ToDate\":null},{\"DeptNo\":\"d022\",\"DeptName\":\"人类 资源 5\",\"FromDate\":null,\"ToDate\":null},{\"DeptNo\":\"d023\",\"DeptName\":\"人类 资源 6\",\"FromDate\":null,\"ToDate\":null},{\"DeptNo\":\"d024\",\"DeptName\":\"人类 资源 7\",\"FromDate\":null,\"ToDate\":null}]"

(忽略空值)。当我尝试在 javascript 中解析它时

var departmentsList = JSON.parse(@Model.DepartmentsListJson); 

我收到以下消息:

Uncaught SyntaxError: Unexpected token &

我应该使用什么来从我的C# 代码中返回一个有效的JSON 字符串?

【问题讨论】:

    标签: javascript c# .net json asp.net-core


    【解决方案1】:

    你试过了吗:

    var departmentsList = JSON.parse(@Html.Raw(@Model.DepartmentsListJson)); 
    

    问题是您将 c# 与 razor 和 javaScript 混合使用。所以当你这样做时:

    var departmentsList = JSON.parse(@Model.DepartmentsListJson);
    

    除非我弄错了您在 c# 中访问对象而不是它包含的实际值。

    【讨论】:

    • 成功了。我不得不摆脱 JSON.parse,因为我已经发送了一个对象,但 @Html.Raw 成功了。不知道这件事。谢谢!
    • @WarrenG 不客气。我建议不要将 javaScript 与 Razor 混合,因为我觉得它有点乱,但我很高兴它起作用了。
    猜你喜欢
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多