gpt4 book ai didi

c# - 具有相同属性名称但大小写不同的 Json 反序列化

转载 作者:行者123 更新时间:2023-11-30 12:23:28 25 4
gpt4 key购买 nike

我想了解当我们有多个不同大小写的属性名称时,Json.NET 如何将 JSON 对象反序列化为相应的 c# 对象(我知道这不是一个好的做法,但只是想知道 JSON.NET 如何处理这个问题).

我有一个定义如下的 C# 对象:

public class TestModel
{
public string Name { get; set; }
public bool IsEmployee { get; set; }
}

和json对象一样

{ "Name": "TestName","Isemployee":true, "isemployee":false};

那么,如果我使用 JSON.NET 反序列化方法将上面的 json 字符串转换为 TestModel 对象,这两个属性中的哪一个将分配给 IsEmployee 变量?为什么?

谢谢。

最佳答案

在反序列化中,Json.NET 会在完全匹配失败时尝试不区分大小写地匹配属性,如讨论的那样 here .这与内置的 .NET JSON 序列化程序形成对比,请参阅 here .

如果检测到多个匹配项,则最后一个匹配项优先。

关于c# - 具有相同属性名称但大小写不同的 Json 反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36566106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com