我即将使用JavaScriptSerializer
反序列化JSON。不幸的是,在JSON中,有一个名为object
的变量。
我不能写下这样的课程:
public class FacebookObjectDataData
{
public FacebookObjectDataDataObject object { get; set; }
public FacebookObjectDataData()
{
}
}
但我需要该名称来反序列化它。我该如何使用它?
答案 0 :(得分:9)
您可以为字段@object
命名:
public class FacebookObjectDataData
{
public FacebookObjectDataDataObject @object { get; set; }
public FacebookObjectDataData()
{
}
}
因此不会将其标记为错误。您可以使用其他受限制的名称。
有关此处的更多信息,请http://msdn.microsoft.com/en-us/library/aa664670.aspx
答案 1 :(得分:4)
答案 2 :(得分:2)
public FacebookObjectDataDataObject object { get; set; }
由于object
是保留的关键字,因此无法编译。
你可以做这样的事情
public FacebookObjectDataDataObject @object { get; set; }//I don't like it personally
或者
public FacebookObjectDataDataObject Object { get; set; }//This will work
答案 3 :(得分:2)
您可以使用@
字符来允许关键字作为变量的名称
public FacebookObjectDataDataObject @object { get; set; }
您也可以使用DataMember
属性更改字段名称
[DataMember(Name = "object")]
public FacebookObjectDataDataObject facebookField { get; set; }
答案 4 :(得分:1)
你可以随心所欲地命名,只需用它来装饰:
[DataMember(Name = "object")]
public FacebookObjectDataDataObject MyCoolField { get; set; }