将.net类序列化为json并在javascript中使用它的正确方法是什么?
例如在服务器端,我们得到了:
public ActionResult Index()
{
var someClass = new SomeClass { Message = "let's try <b> this </b> and this \" " };
ViewBag.someDataJson = JsonConvert.SerializeObject(someClass);
return View();
}
public class SomeClass
{
public string Message;
}
在客户端:
<script type="text/javascript">
$(document).ready(function() {
var someData = $.parseJSON("@Html.Raw(ViewBag.someDataJson)");
alert(someData.Message);
});
</script>
将导致:
var someData = $.parseJSON("{"Message":"let's try <b> this </b> and this \" "}");
这是不正确的。同样,如果没有Html.Raw(),结果也将不正确:
var someData = $.parseJSON("{"Message":"let's try <b> this </b> and this \" "}");
谢谢!
最佳答案
这是a small blog post about doing exactly this.
它使用Json.Encode(someClass)
var someData = @Html.Raw(Json.Encode(yourViewModelCSharpObject))
您将实际对象传递给视图,而不是JSON字符串表示形式。
祝好运!
关于jquery - $ .parseJSON与JsonConvert.SerializeObject,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15822323/