parseJSON与JsonConvert

parseJSON与JsonConvert

将.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("{&quot;Message&quot;:&quot;let&#39;s try &lt;b&gt; this &lt;/b&gt; and this \&quot; &quot;}");


谢谢!

最佳答案

这是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/

10-09 08:29