我对 vbnet 和 json 有问题。我正在尝试从 restservice 获取一些信息。 restservice 返回这个 json 字符串:
{
"Default": 1,
"Date": "2015-01-26T00:00:00+01:00",
}
我想反序列化这个响应,做类似的事情:
Dim result As myclass = Newtonsoft.Json.JsonConvert.DeserializeObject(Of myclass (responseText)
问题是“默认”和“日期”是保留关键字,所以我不能定义这个类:
Public Class myclass
Public Property Date As Datetime
Public Property Default as String
End Class
我无法修改 de restservice,那么我怎样才能获得所需的行为?
最佳答案
来自 VB.NET spec :
Regular identifiers may not match keywords, but escaped identifiers can.
所以代替
Public Class myclass
Public Property Date As Datetime
Public Property Default as String
End Class
您可以使用像这样的方括号使用转义标识符
Public Class [myclass]
Public Property [Date] As Datetime
Public Property [Default] as String
End Class
另一种解决方案是使用
JsonProperty
attributePublic Class SomeClass
<JsonProperty("Date")>
Public Property TheDate As Datetime
<JsonProperty("Default")>
Public Property SomethingDefault as String
End Class
关于.net - VB.NET 和 Json,反序列化保留的关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28148675/