由于某种原因,当我的淘汰模型中有一个特殊字符并将其转换为 json 对象时,字符串在特殊字符应该在的位置结束,并且在反序列化时出现错误:
$.ajax({
url: "/Admin/Forms/Convert",
type: "post",
//contentType: "application/json",
dataType: "text",
data: "modelData=" + ko.toJSON(theModel),
success: function (data) {
// window.open("/Admin/Forms/DisplayClient");
var win = getFullWindow('/Admin/Forms/DisplayClient');
win.open();
},
error: function (xhr, status, msg) { alert(msg); }
});
当我到达这个方法时:
public void Convert(string modelData)
{
Form form = JsonConvert.DeserializeObject<Form>(modelData);
}
我收到错误:
Unterminated string. Expected delimiter: ". Path 'Name', line 1, position 178.
如果 JSON 字符串包含双引号等特殊字符"
, 反斜杠\
或斜杠/
,需要用反斜杠转义\
。没有任何 JSON 解析器能够处理格式不正确的 JSON 字符串。
所以你需要确保你的theModel
格式适当并根据JSON.org标准。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)