我从Web服务中获得了一些JSON,如下所示:
{
"disclaimer": "Exchange r..",
"license": "Data sourced from variou..",
"timestamp": 1262365200,
"base": "USD",
"rates": {
"AED": 3.67275,
"AFN": 48.550089,
"ALL": 96.435505,
"AMD": 377.894224,
"ANG": 1.791,
"AOA": 89.174867,
"ARS": 3.79928
}
}
我已经建立了一个小班来接受它。
Class currencyValues
Class ratePairs
Property currencyCode
Property currencyValue
End Class
Property disclaimer
Property license
Property timestamp
Property base
Property rates As New List(Of ratePairs)
End Class
当我运行代码接受JSON进入类时,它采用顶级属性,但是ratePairs列表不会填充。
Dim js As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim recs = js.Deserialize(Of currencyValues)(curRecordJSON)
列表recs.Rates的计数为零。
我做错了什么?
答案 0 :(得分:1)
原始json中的rates
属性不是数组,因此无法反序列化为列表。
它实际上是一个对象,具有AED
和AFN
等属性。您可以将其反序列化为Dictionary(Of String, Double)
,或者如果属性永远不会更改,则可以建立一个类来保持它:
Class Rates
Property AED
Property AFN
'etc
End Class