我已经在使用Newtonesoft Package的JsonSerializer将字符串转换为 JSON 格式,但它无法将此字符串转换为 JSON。
{
"isSuccess": true,
"elapsed": 54,
"results": {
"131351990802396920": "updated",
"21034623651844830": "updated",
"112201011402879160": "updated"
},
"errors": {
"105933291602523100": "Error",
"106574790922078090": "Error",
"114439941021395940": "Error",
"123574814601457710": "Error"
}
}
我试图将字符串转换为的类结构如下:
public class UpdateResultSt
{
public bool isSuccess { get; set; }
public int elapsed { get; set; }
public List<SuccessfulUpdateResult> results = new List<SuccessfulUpdateResult>();
public List<FailedUpdateResult> errors = new List<FailedUpdateResult>();
}
public class SuccessfulUpdateResult
{
public string id { get; set; }
public string text { get; set; }
}
public class FailedUpdateResult
{
public string id { get; set; }
public string text { get; set; }
}
这是我的一些负责转换的代码:
JsonSerializer json_serializer;
json_serializer = new JsonSerializer
{
NullValueHandling = NullValueHandling.Ignore
};
JsonReader jsonReader = new JsonTextReader(new StringReader(responseFromServer));
UpdateResultSt routes_list = json_serializer.Deserialize<UpdateResultSt>(jsonReader);
如您所见,the Results和the Errors范围都有可变内容。
还有一些其他问题也有同样的问题,但没有人能解决我的问题。错误信息是:
'无法将当前 JSON 对象(例如 {"name":"value"})反序列化为类型 'System.Collections.Generic.List`1[ConceptTaggerWinApp.UpdateResultSt]' 因为该类型需要一个 JSON 数组(例如 [1,2 ,3]) 以正确反序列化。要修复此错误,请将 JSON 更改为 JSON 数组(例如 [1,2,3])或更改反序列化类型,使其成为正常的 .NET 类型(例如,不是像整数这样的原始类型,而不是像这样的集合类型)可以从 JSON 对象反序列化的数组或列表)。还可以将 JsonObjectAttribute 添加到类型以强制它从 JSON 对象反序列化。路径“isSuccess”,第 1 行,位置 13。
如何更改我的类结构以成功将此字符串转换为 JSON?
侃侃尔雅
鸿蒙传说
湖上湖
相关分类