C# System.Text.Json.JsonSerializer无法反序列化成员 公共类providerData { 字符串rowId{get;set;} } 公共类提供程序PagedData { 公共整数总计{get;set;} 公共整型totalPages{get;set;} 公共列表项{get;set;} } 公共类提供程序测试 { 转换的字符串=“{\'total\':5,\'totalPages\':0,\'items\':[{\'rowId\':\'“\'”10479\'}]; 公共ProviderTest() { providerPagedData providers=新providerPagedData(); 尝试 { providerPagedData p=JsonSerializer.Deserialize(已转换), 新JSONSerializedProptions { PropertyNameCaseSensitive=true, } ); } 捕获(例外e) { 控制台写入线(e.Message); } } }
结果返回成员“total”和totalPages的正确值,以及正确的“items”数,但第一个元素的“rowId”始终为null。C# System.Text.Json.JsonSerializer无法反序列化成员 公共类providerData { 字符串rowId{get;set;} } 公共类提供程序PagedData { 公共整数总计{get;set;} 公共整型totalPages{get;set;} 公共列表项{get;set;} } 公共类提供程序测试 { 转换的字符串=“{\'total\':5,\'totalPages\':0,\'items\':[{\'rowId\':\'“\'”10479\'}]; 公共ProviderTest() { providerPagedData providers=新providerPagedData(); 尝试 { providerPagedData p=JsonSerializer.Deserialize(已转换), 新JSONSerializedProptions { PropertyNameCaseSensitive=true, } ); } 捕获(例外e) { 控制台写入线(e.Message); } } },c#,.net,system.text.json,C#,.net,System.text.json,结果返回成员“total”和totalPages的正确值,以及正确的“items”数,但第一个元素的“rowId”始终为null。 无法找出我做错了什么,如果您能提供任何建议/帮助,我将不胜感激。rowId不值得推荐,因为它不是公开的。从: System.Text.Json仅适用于公共属性。习俗 转换器可以提供此功能 更改此选项应允许rowId正确反序列化: public class providerData { String rowId { get; set; }
无法找出我做错了什么,如果您能提供任何建议/帮助,我将不胜感激。rowId不值得推荐,因为它不是公开的。从:
System.Text.Json
仅适用于公共属性。习俗
转换器可以提供此功能
更改此选项应允许rowId
正确反序列化:
public class providerData
{
String rowId { get; set; }
}
public class providerPagedData
{
public int total { get; set; }
public int totalPages { get; set; }
public List<providerData> items { get; set; }
}
public class ProviderTest
{
String converted = "{\"total\":5,\"totalPages\":0,\"items\":[{\"rowId\":\"#10479\"}]}";
public ProviderTest()
{
providerPagedData providers = new providerPagedData();
try
{
providerPagedData p = JsonSerializer.Deserialize <providerPagedData>(converted,
new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true,
}
);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
提示:不要这样处理JSON字符串。随着时间的推移,这会成为一种痛苦。只需创建匿名对象并序列化它们。您保证有一个可靠的数据结构:
var obj=new{total=5,totalPages=0,items=new[]{new{rowId=“#10479”}}}
public class providerData
{
public String rowId { get; set; }
}