反序列化 json,其中属性与内置数据类型同名,在 C# 中
Posted
技术标签:
【中文标题】反序列化 json,其中属性与内置数据类型同名,在 C# 中【英文标题】:Deserialize json where an attribute has the same name as a built in datatype, in C# 【发布时间】:2021-12-19 00:10:58 【问题描述】:我遇到了一个谷歌找不到任何解决方案的问题...
javascriptSerializer js = new JavaScriptSerializer();
MyClass myObject = js.Deserialize<MyClass>(jsonstring);
如果json数据中的一个属性叫做“short”呢? 我不能像这样上课:
public class MyClass
public int A;
public int B;
public int short;
那么我怎样才能以一种简单的方式将 jsonstring 放入一个对象中呢? 非常感谢我能得到的所有帮助。
【问题讨论】:
这能回答你的问题吗? JavaScriptSerializer - custom property name 特别是that 回答... 【参考方案1】:您可以在中使用@
public class MyClass
public int A;
public int B;
public int @short;
【讨论】:
您能否在回答中澄清@
在这种情况下的含义?【参考方案2】:
short
是关键字(documentation;您需要将变量称为其他名称。Short
可以正常工作,因为关键字区分大小写,并且所有关键字都是小写。
在@Balastrong's answer:
public class MyClass
public int A;
public int B;
public int @short;
@
符号被用作“逐字标识符”(documentation;
见第 1 条)。这允许解释器将 @short
理解为 标识符 short
而不是 关键字 short
。
希望这能解决一些问题。
【讨论】:
以上是关于反序列化 json,其中属性与内置数据类型同名,在 C# 中的主要内容,如果未能解决你的问题,请参考以下文章