编辑:我正在使用 Utf8Json不是System.Text.Json
有什么方法可以使 Utf8Json Deserializer 不区分大小写吗?目前,如果 json key-case 与 property-case 不匹配,则不会填充值。
我不想使用 [DataMember(Name ="...")]
class Program
{
static void Main(string[] args)
{
string json = "{\"testprop\":123,\"name\":\"TestObject\"}";
var obj = JsonSerializer.Deserialize<Temp>(json);
Console.ReadKey();
}
}
public class Temp
{
public int TestProp { get; set; }
public string Name { get; set; }
}
最佳答案
你只需要传入一个JsonSerializerOptions
带有 PropertyNameCaseInsensitive
的对象属性设置为真。例如:
var options = new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
};
var obj = JsonSerializer.Deserialize<Temp>(json, options);
关于c# - 使属性不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73048541/