gpt4 book ai didi

c# - 属性名称中的特殊字符

转载 作者:太空狗 更新时间:2023-10-30 00:06:57 24 4
gpt4 key购买 nike

在我的应用程序中,web 服务将返回一个 json

{
"UserDetails": [
{
"UserId": "57",
"EmailId": "prasant@xyz.com",
"UserName": "Prasant",
"TimezoneMins": "330",
"CustomLogo": "",
"IsExecutive": "True",
"HasNTID": "1",
"Org_Id": "1",
"Org_Name": "Summit",
"Designation": null,
"Location": null,
"Location_Name": "",
"WsVersion": "V5.1.0",
"CallMe": "FALSE",
"GPS": "FALSE",
"Feedback_IM&SR": "NULL",
"RPT_Widgets_Access": "False"
}
] }

在这里,我想将这个 json 反序列化为一个类对象。其中类包含与 json 中的键相同的属性。

public class UserDetails
{
int? _userId;
string _emailId;
string _userName;
int _timezoneMins;
string _customLogo;
string _isExecutive;
int _hasNTID;
int? _org_Id;
string _org_Name;
string _designation;
int? _location;
string _location_Name;
string _feedback_IMSR;
string _rPT_Widgets_Access;
public string Feedback_IM&SR
{
get{return _feedback_IMSR;}
set{_feedback_IMSR = value;}
}

}

此处变量和属性“Feedback_IM&SR”具有“&”字符,这在变量和属性名称中是不允许的,但我需要该属性的值。

谁能帮我解决这个问题。

最佳答案

使用Netwonsoft.NET :

var details = JsonConvert.DeserializeObject<UserDetails>(json);

对于您的类(class),您需要在名称的属性上具有属性:

[JsonProperty(PropertyName = "Feedback_IM&SR")]
string _feedback_imsr { get; set; }

现在您可以将 JSON 数据保留为它希望的任何名称,并让您的 C# 类为该属性使用另一个名称。作为你类(class)的一部分,这看起来像:

public class UserDetails
{
int? _userId;
string _emailId;
string _userName;
int _timezoneMins;
string _customLogo;
string _isExecutive;
int _hasNTID;
int? _org_Id;
string _org_Name;
string _designation;
int? _location;
string _location_Name;
string _wsVersion;
string _callMe;
string _gPS;
string _feedback_IMSR;
string _rPT_Widgets_Access;
[JsonProperty(PropertyName = "Feedback_IM&SR")]
public string Feedback_IMSR
{
get{return _feedback_IMSR;}
set{_feedback_IMSR = value;}
}
}

关于c# - 属性名称中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38719368/

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