我遇到了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,所以如何才能获得所需的行为?
答案 0 :(得分:4)
来自VB.NET spec:
常规标识符可能与关键字不匹配,但转义标识符可以。
所以而不是
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