我遇到了JSON问题。 我想将序列化对象传递给JS中的JSON.parse方法。 一切正常,直到其中一个字符串值没有引号,例如HTML代码。然后你在JS中得到JSON解析错误。
我得到:
var test = JSON.parse('{"test":"<p>Terms <a href=\"google.pl\"></a></p>"}');
但有效的是:
var test = JSON.parse('{"test":"<p>Terms <a href=\\"google.pl\\"></a></p>"}');
这是我的测试视图代码,有什么想法吗? 如何正确传递这个对象?
@{
Layout = null;
}
@{
string args = Newtonsoft.Json.JsonConvert.SerializeObject(new
{
test = @"<p>Terms <a href=""google.pl""></a></p>"
}, new Newtonsoft.Json.JsonSerializerSettings
{
ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(),
});
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<script>
var test = JSON.parse('@Html.Raw(args)');
</script>
<div>
</div>
</body>
</html>
答案 0 :(得分:2)
您不需要解析它,因为它已经是JSON对象。 只需使用:
Earlier Result will be 1+0+0+0+0+0+2 = 3
My desire result will be like (1*2)+0+0+0+0+0+(2*4) = 10
<script>
var test = @Html.Raw(args);
</script>
用于将字符串解析为对象。