【问题标题】:How to JSON serialize an object from server side and send that serialized object to client side view MVC4如何从服务器端 JSON 序列化对象并将该序列化对象发送到客户端视图 MVC4
【发布时间】:2015-03-03 17:50:40
【问题描述】:

我几乎是 mvc5 的新手。前两天我试图从服务器端序列化一个对象。我需要将序列化对象发送到客户端。在客户端,序列化对象也应该反序列化。 我的对象有六个属性,但我需要对其中两个进行序列化。我尝试了以下

Person p = new Person();
p.name = "myName";
p.age = 24;
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));

这里 DataContractJsonSerializer 不起作用。请帮我找出问题并将序列化对象传递给客户端

【问题讨论】:

    标签: json asp.net-mvc-4 server


    【解决方案1】:

    你不能只利用 JsonResult 来做到这一点吗?

    public JsonResult GetPerson() 
    {
        Person P = new Person 
        {
             Name = "myName",
             Age = 24
        }
    
        return Json(p);
    }
    

    【讨论】:

    • @Slicksim...非常感谢。但我需要通过控制器的 HttpGet/HttpPost 操作来完成
    • 这仍然有效,上面的代码是一个标准的 mvc 操作。虽然,如果你想将它与 get 一起使用,Json 有一个重载,它需要一个具有 AllowGet 和 DenyGet 的 JsonRequestBehaviour,所以你需要适当地设置它
    • 亲爱的 Slicksim... 我怎样才能在 GetPerson 的各自视图中反序列化它?并再次将其传递给它的 Post 动作?实际上我的视图(.cshtml)文件中有一些@Html.hidden 字段。我想摆脱这个隐藏的领域。我想从那个 json 序列化对象中填充我的隐藏字段。
    • 您可以将 hidden 的值设置为 json,但是您需要自己在控制器中对其进行反序列化。听起来你需要重新考虑你是如何解决这个问题的,你正在通过它的声音来对抗那里的框架
    猜你喜欢
    • 2014-08-14
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    相关资源
    最近更新 更多