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

VB.NET and Json, Deserialize preserved keywords

我对 vbnet 和 json 有疑问。我正在尝试从 restservice 获取一些信息。 restservice return this json string:

{
  "Default": 1,
  "Date": "2015-01-26T00:00:00+01:00",
}

我想反序列化这个响应,做类似的事情:

Dim result As myclass = Newtonsoft.Json.JsonConvert.DeserializeObject(Of myclass (responseText)

问题是 "Default" 和 "Date" 是保留关键字,所以我不能定义这个 class:

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 attribute

Public Class SomeClass 
    <JsonProperty("Date")>
    Public Property TheDate As Datetime
    <JsonProperty("Default")>
    Public Property SomethingDefault as String
End Class