【问题标题】:Writing a C# Asp.net MVC 4 Json Parser编写 C# Asp.net MVC 4 Json 解析器
【发布时间】:2015-09-18 10:06:44
【问题描述】:

我是 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("");

    }

【问题讨论】:

    标签: c# jquery asp.net json asp.net-mvc


    【解决方案1】:

    您收到了哪些错误消息?

    如果您的 JSON 将变得相当静态,我建议您使用在线工具(如 JSON2Csharp)将此文本转换为填充对象。

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

    JsonConvert.DeserializeObject<RootObject>(string json);
    

    【讨论】:

      【解决方案2】:

      不用担心解析|序列化,您可以轻松地将对象列表作为 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) {      
          }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-02
        • 2015-04-16
        • 2015-11-22
        • 1970-01-01
        • 2014-12-20
        • 2012-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多