2011-02-21 49 views
2

我strugling了整整一天的下一個JSON字符串JSON.NET反序列化問題

{ 
"0":{"link":"afbeeldingenplaatje1.jpg"}, 
"1":{"link":"afbeeldingenplaatje2.jpg"}, 
"2":{"link":"afbeeldingenplaatje3.jpg"} 
} 

我該如何反序列化呢?下一個代碼有什麼問題(vb.net)

Public Class DataString 
    Private m_link As String 
    Public Property link() As String 
     Get 
      Return m_link 
     End Get 
     Set(ByVal value As String) 
      m_link = value 
     End Set 
    End Property 
End Class 

Public Class DataToArray 
    Private a_Data As Dictionary(Of Integer, DataString) 
    Public Property DataTo() As Dictionary(Of Integer, DataString) 
     Get 
      Return a_Data 
     End Get 
     Set(ByVal value As Dictionary(Of Integer, DataString)) 
      a_Data = value 
     End Set 
    End Property 

Dim template As DataToArray = JsonConvert.DeserializeObject(Of DataToArray)(sData) 

它總是返回一個空的結果。

謝謝!

Raymond

+0

你有沒有想出解決辦法?我有同樣的問題 –

回答

1

json數據和您的模型不匹配。

嘗試這樣做,而不是:

Dim template As DataToArray = JsonConvert.DeserializeObject(Of Dictionary(Of Integer, DataString))(sData) 

或數據輸入更改爲:

{ 
    DataTo: { 
     "0":{"link":"afbeeldingenplaatje1.jpg"}, 
     "1":{"link":"afbeeldingenplaatje2.jpg"}, 
     "2":{"link":"afbeeldingenplaatje3.jpg"} 
    } 
}