c# - 解析值时遇到意外字符:[。路径“数据”,第 1 行,位置 26
问题描述
当我试图解析 Json 结果时,我得到以下异常:
解析值时遇到意外字符:[。路径“数据”,第 1 行,位置 26。
这是我的 Json 数据:
{
"StatusCode":200,
"Data":[
{
"MemberId":1,
"CreaterUserId":5,
"FirstName":"Saravanan",
"LastName":"Subramanian",
"Title":"Physician\u0019s Assistant",
"License":"A 123447",
"Email":"saravanan.radhamani@gmail.com",
"PhoneNumber":"1234567",
"IsSign":true,
"IsMemberActive":true,
"CreatedDate":"2018-06-23T15:45:44.843",
"PhotoPath":null
}
]
}
这是我的 C# 代码:
public static void Main(string[] args)
{
string response = null;
try
{
response = makeRequest();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
var data = JsonConvert.DeserializeObject<PolstForm>(response);
Console.WriteLine(string.Format("StatusCode : {0} , Data : {1}",
data.StatusCode,
data.Data[0]));
Console.ReadKey();
}
private static string makeRequest()
{
var client = new RestClient(urlString);
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("accept", "application/json");
return client.Execute(request).Content; //the Content (body) of the response
}
这是我的 PolstForm.class
public class PolstForm
{
public int StatusCode { get; set; }
public string Data { get; set; }
}
当我试图解析来自 json 的数据时,它返回一个错误。
显示的错误是:
用户代码未处理 JsonReaderException: Newtonsoft.Json.dll 中发生类型为“Newtonsoft.Json.JsonReaderException”但未在用户代码中处理的异常附加信息:解析值时遇到意外字符:[。路径“数据”,第 1 行,位置 26。
响应包含上述 Json 格式。
如果你有替代的东西,请与我分享。
解决方案
您的PolstForm
课程与您的 Json 结构不匹配。
例如,我会这样写:
public class PolstForm
{
public int StatusCode { get; set; }
public CustomData[] Data { get; set; }
}
public class CustomData
{
public int MemberId {get;set;}
public int CreaterUserId {get;set;}
public string FirstName {get;set;}
public string LastName {get;set;}
public string Title {get;set;}
public string License {get;set;}
public string Email {get;set;}
public string PhoneNumber {get;set;}
public bool IsSign {get;set;}
public bool IsMemberActive {get;set;}
public DateTime CreatedDate {get;set;}
public string PhotoPath {get;set;}
}
推荐阅读
- hive - 如何使用 hive-site.xml 设置 hive 表的 tblproperties 或如何通过在 hive-site.xml 中设置属性将所有表创建为事务表
- google-sheets - 如何从用户读取 excel 文件并生成 Google Sheet 文件
- azure - Azure 流分析作业的运行时错误
- swift - Swift URL 会话:即使出现服务器错误 [404、500],进度条也会增加
- c++ - C++程序获取当前时间
- angularjs - AngularJS 无法执行文件上传
- python - TensorFlow Serving REST API - JSON 解析错误
- sql - 查询以根据列勾选行值
- django - 尽管没有进行任何更改,Django 仍会创建自动迁移
- .htaccess - 如何将相同的静态资源映射到 micronaut 中的所有 url?