详解C#对XML、JSON等格式的解析

2019-12-30 15:09:52王振洲

二、C#对JSON格式数据的解析

引用NewtonsoftJsondll文件,来解析。

比如:有个要解析的JSON字符串


[{"TaskRoleSpaces":"","TaskRoles":"","ProxyUserID":"5d9ad5dc1c5e494db1d1b4d8d79b60a7","UserID":"5d9ad5dc1c5e494db1d1b4d8d79b60a7","UserName":"姓名","UserSystemName":"2234","OperationName":"送合同负责人","OperationValue":"同意","OperationValueText":"","SignDate":"2013-06-19 10:31:26","Comment":"同意","FormDataHashCode":"","SignatureDivID":""},{"TaskRoleSpaces":"","TaskRoles":"","ProxyUserID":"2c96c3943826ea93013826eafe6d0089","UserID":"2c96c3943826ea93013826eafe6d0089","UserName":"姓名2","UserSystemName":"1234","OperationName":"送合同负责人","OperationValue":"同意","OperationValueText":"","SignDate":"2013-06-20 09:37:11","Comment":"同意","FormDataHashCode":"","SignatureDivID":""}]

首先定义个实体类:


public class JobInfo 
{ 
  public string TaskRoleSpaces { get; set; } 
  public string TaskRoles { get; set; } 
  public string ProxyUserID { get; set; } 
  public string UserID { get; set; } 
  public string UserName { get; set; } 
  public string UserSystemName { get; set; } 
  public string OperationName { get; set; } 
  public string OperationValue { get; set; } 
  public string OperationValueText { get; set; } 
  public DateTime SignDate { get; set; } 
  public string Comment { get; set; } 
  public string FormDataHashCode { get; set; } 
  public string SignatureDivID { get; set; } 
} 

然后在控制台Main函数内部输入如下代码:


string json = @"[{'TaskRoleSpaces':'','TaskRoles':'','ProxyUserID':'5d9ad5dc1c5e494db1d1b4d8d79b60a7','UserID':'5d9ad5dc1c5e494db1d1b4d8d79b60a7','UserName':'姓名','UserSystemName':'2234','OperationName':'送合同负责人','OperationValue':'同意','OperationValueText':'','SignDate':'2013-06-19 10:31:26','Comment':'同意','FormDataHashCode':'','SignatureDivID':''},{'TaskRoleSpaces':'','TaskRoles':'','ProxyUserID':'2c96c3943826ea93013826eafe6d0089','UserID':'2c96c3943826ea93013826eafe6d0089','UserName':'姓名2','UserSystemName':'1234','OperationName':'送合同负责人','OperationValue':'同意','OperationValueText':'','SignDate':'2013-06-20 09:37:11','Comment':'同意','FormDataHashCode':'','SignatureDivID':''}] 
"; 
  
      List<JobInfo> jobInfoList = JsonConvertDeserializeObject<List<JobInfo>>(json); 
  
      foreach (JobInfo jobInfo in jobInfoList) 
      { 
        ConsoleWriteLine("UserName:" + jobInfoUserName + "UserID:" + jobInfoUserID); 
      }