2016-11-20 3 views
1

как я десериализация файла JSON как это:Visual Basic .NET десериализация

{ 
    "misterislukelis": { 
     "id": 44816005, 
     "name": "MisterisLukelis", 
     "profileIconId": 1391, 
     "summonerLevel": 30, 
     "revisionDate": 1479601967000 
} 

}

из whati собрал это JSON «словарь», но я не знаю, я могу читать его так же, как нормальный JSON файл

ex. нормальной: JSON

[ { 
    "application_id":"1", 
    "application_package":"abc" 
    }, 
    { 
    "application_id":"2", 
    "application_package":"xyz" 
    } ] 

я не знаю, это они ведут себя diferently, becouse столько, сколько я смотрел на нее, каждый раз делает то же самое, но для меня это реально не работает

мой класс :

Class summoner        'class opening 
    Public Property id As Integer   'summoner's id 
    Public Property name As String   'summoner's name 
    Public Property profileIconId As Integer 'profile icon id 
    Public Property summonerLevel As Integer 'summoner's level 
End Class         'end of a class 

, а затем это должно десериализации JSON:

Dim ser As JavaScriptSerializer = New JavaScriptSerializer()   
Dim jsonData As String = readData(URLadress)       'get  json file in to txt(i have function fo it, it works i triple checked) 
Dim summonerInfo As summoner = ser.Deserialize(Of summoner)(jsonData) 'deserialize json 
TextBox1.Text = summonerInfo.summonerLevel 'print out summoner level 

, как я посмотрел это должно работаю нормально, но все, что я получаю, где целое число должно быть равным 0, где строка я получаю "", я действительно не знаю, где проблема

ответ

0

Второй пример - это json-массив и отлично работает с Deserialize json.

Dim webtest As String = "[ { 
    ""application_id"":""1"", 
    ""application_package"":""abc"" 
    }, 
    { 
    ""application_id"":""2"", 
    ""application_package"":""xyz"" 
    } ]" 
     Dim serializer As New JavaScriptSerializer() 
     Dim webtestdeserialized As New List(Of cSummoner) 
     webtestdeserialized = serializer.Deserialize(Of List(Of cSummoner))(webtest) '(serializedResult) 

У меня с JSON Объект тоже. Объект JSON Я получаю его в объекте, но не в списке cSummoner.

Dim webtest As String = "{ 
     ""id"": 44816005, 
     ""name"": ""MisterisLukelis"", 
     ""profileIconId"": 1391, 
     ""summonerLevel"": 30, 
     ""revisionDate"": 1479601967000 
}" 
     Dim serializer As New JavaScriptSerializer() 
     Dim webtestdeserialized As Object 
     webtestdeserialized = serializer.DeserializeObject(webtest) 

Надеюсь, я могу вам помочь.