如何命名c#类字段,以便能够使用无效字符反序列化json字段名称

如何命名c#类字段,以便能够使用无效字符反序列化json字段名称,第1张

概述我正在使用 JSON.NET反序列化我的一些 JSON响应. 到目前为止我一直很成功. 为了使JSON.NET正确反序列化对象,需要完全按照JSON中的方式调用类中的字段名称.问题是我有一些字段在他们的名字中有一些时髦的字符,我不能在C#中使用像{“(. 有谁知道如何重命名字段,以便正确映射? 这是一个有效的简短例子. JSON输入: { "contact_id": "", "st 我正在使用 JSON.NET反序列化我的一些 JSON响应.
到目前为止我一直很成功.
为了使JsON.NET正确反序列化对象,需要完全按照JsON中的方式调用类中的字段名称.问题是我有一些字段在他们的名字中有一些时髦的字符,我不能在C#中使用像{“(.

有谁知道如何重命名字段,以便正确映射?

这是一个有效的简短例子.

JsON输入:

{    "contact_ID": "","status": "Partial","is_test_data": "1","datesubmitted": "2013-10-25 05:17:06"}

反序列化的类:

class Deserializedobject{    public string contact_ID;    public string status;    public int is_test_data;    public DateTime datesubmitted;}

反序列化:

var deserialized = JsonConvert.DeserializeObject<Deserializedobject>(Jsoninput);

这被正确映射.当我尝试处理以下字段时,问题开始:

{    "contact_ID": "","datesubmitted": "2013-10-25 05:17:06","[variable("STANDARD_GEOCOUNTRY")]": "Germany"}

反序列化的类:

class Output{    public string contact_ID;    public string status;    public int is_test_data;    public DateTime datesubmitted;    public string variable_standard_geocountry; // <--- what should be this name for it to work?}

我将不胜感激任何帮助.

解决方法 使用JsON.NET,您只需要在属性上放置JsonProperty属性,例如:
class Output{    public string contact_ID;    public string status;    public int is_test_data;    public DateTime datesubmitted;    [JsonProperty("[variable(\"STANDARD_GEOCOUNTRY\")]")]    public string variable_standard_geocountry; // <--- what should be this name for it to work?}

现在将反序列化.这假定您的JsON使用这些引号正确格式化,例如:

{    "contact_ID": "","[variable(\"STANDARD_GEOCOUNTRY\")]": "Germany"}
总结

以上是内存溢出为你收集整理的如何命名c#类字段,以便能够使用无效字符反序列化json字段名称全部内容,希望文章能够帮你解决如何命名c#类字段,以便能够使用无效字符反序列化json字段名称所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1251739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存