2011-12-04 39 views
1

我試圖反序列化JSON字符串,看起來像這樣:VB.NET JavaScriptSerializer()反序列化字典數組成員

{'type':'clientlist','client_list':[]} 

我使用JavaScriptSerializer()來做到這一點。出於某種原因,JavaScriptSerializer()在成員'client_list'上窒息。它沒有提供非常好的信息。它給人的錯誤是:

ArgumentException was unhandled: 
    Invalid JSON primitive: . 

所以,你可以看到它漂亮的非描述。我已經試過各種反序列化它的方式不同,即使是像這樣:

Dim jss As New JavaScriptSerializer() 
    Dim dict As Dictionary(Of String, Object) = jss.Deserialize(Of Dictionary(Of String, Object))(json) 

它仍然給出了同樣的錯誤。這不可能解析嗎?

回答

10

我將定義一個模型來表示我的JSON數據:

Public Class MyModel 
    Public Property Type() As String 
    Public Property Client_list() As String() 
End Class 

,然後反序列化JSON字符串這種模式:

Dim json = "{'type':'clientlist','client_list':['client 1','client 2']}" 
Dim jss As New JavaScriptSerializer() 
Dim model As MyModel = jss.Deserialize(Of MyModel)(json) 
+0

該工程的感謝。出於某種原因,我得到的JSON,它認爲有一個'。'在我看不到的最後。 –

+1

是的「。」最後是因爲我錯誤地處理了我的recv緩衝區。感謝Bunch! :) –

相關問題