VB.NET 和 Json,反序列化保留关键字

4

我有一个与VB.NET和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)

问题在于“Default”和“Date”是保留关键字,因此我无法定义这个类:
Public Class myclass 
    Public Property Date As Datetime
    Public Property Default as String
End Class

我不能修改restservice,那么我该如何获得所需的行为?
1个回答

8

根据VB.NET规范

常规标识符可能与关键字不匹配,但转义标识符可以匹配。

因此,不要使用以下标识符:

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 属性
Public Class SomeClass 
    <JsonProperty("Date")>
    Public Property TheDate As Datetime
    <JsonProperty("Default")>
    Public Property SomethingDefault as String
End Class


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接