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# 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; }

结果返回成员“total”和totalPages的正确值,以及正确的“items”数,但第一个元素的“rowId”始终为null。
无法找出我做错了什么,如果您能提供任何建议/帮助,我将不胜感激。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; }
}