我正在尝试反序列化看起来像这样的JSON字符串:
{'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)
它仍然会出现同样的错误。是不是可以解析它?
答案 0 :(得分: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)