繁体   English   中英

编写C#Asp.net MVC 4 Json Parser

[英]Writing a C# Asp.net MVC 4 Json Parser

我是asp.net mvc 4框架中的新手。 我想要代码解析使用jquery从视图接收到的json到数组列表。 我的json是这样的:

"{\"ServiceDataModel\":[{\"ServiceId\":\"7\",\"ServiceName\":\"Test Service\",\"ServiceRate\":\"4\",\"NoOfTimes\":\"1\",\"TotalAmount\":\"4\",\"Discount\":\"1\",\"NetAmount\":\"3\"},
{\"ServiceId\":\"7\",\"ServiceName\":\"Test Service\",\"ServiceRate\":\"36\",\"NoOfTimes\":\"1\",\"TotalAmount\":\"36\",\"Discount\":\"2\",\"NetAmount\":\"34\"}]}"

我不确定这是正确的json吗? 我在调试期间在控制器中收到此消息。

这是我的代码:

public ActionResult SavePatientServices(string id, string totalnetamount, string remarks, string approvedby)
    {
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        string test = Regex.Unescape(id);

        ServiceDataModel datum = JsonConvert.DeserializeObject<ServiceDataModel>(id);
        dynamic stuff = JsonConvert.DeserializeObject(id);

       var log = JsonConvert.DeserializeObject<ServiceDataModel>(id);
       var obj = JsonConvert.DeserializeObject<List<ServiceDataModel>>(stuff);
        //List<ServiceDataModel> ListAnswers = serializer.Deserialize<List<ServiceDataModel>>(stuff);
        return Content("");

    }

您收到什么错误消息?

如果您的JSON会变得非常静态,建议您使用JSON2Csharp等在线工具将此文本转换为填充的对象。

完成此操作后,您可以使用JSON.NET通过以下命令反序列化此文本:

JsonConvert.DeserializeObject<RootObject>(string json);

不用担心解析|,您可以轻松地将对象列表作为json发送。

MVC动作:

像这样发送您的对象,它将自动作为json处理。 不用担心序列化。

public JsonResult GetUsersData()  
        {  
         var usersList = new List<UserModel>  
            {  
                new UserModel  
                {  
                    UserId = 1,  
                    UserName = "Ram",  
                    Company = "Mindfire Solutions"  
                },  
                new UserModel  
                {  
                    UserId = 1,  
                    UserName = "chand",  
                    Company = "Mindfire Solutions"  
                },  
                new UserModel  
                {  
                    UserId = 1,  
                    UserName = "Abc",  
                    Company = "Abc Solutions"  
                }  
            };        

            return Json(usersList , JsonRequestBehavior.AllowGet);  
        }  

阿贾克斯:

Ajax具有XML和Json的默认解析。 不用担心解析。

$.ajax({  
    type: "GET",
    contentType: "application/json; charset=utf-8",  
    url:"", 
    success: function (data) {      
    },
    error: function (xhr, ajaxOptions, thrownError) {      
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM