2015-08-24 6 views
0

я знаю, как десериализации Java с помощью JavaScriptSerializer, но с этой JSon строки она не работает по какой-то причинеJSON десериализации с именем изменяемого класса

Это JSON строка:

{"hell": { 
    "id": 31930845, 
    "name": "Hell", 
    "profileIconId": 550, 
    "revisionDate": 1440028482000, 
    "summonerLevel": 30 
}} 

и здесь мой класс:

Public Class Summoner 
    Public Property id As Integer 
    Public Property name As String 
    Public Property profileIconId As Integer 
    Public Property revisionDate As Long 
    Public Property summonerLevel As Integer 
End Class 

Мой код

Dim j As New JavaScriptSerializer 
Dim o As Summoner = j.Deserialize(Of Summoner)(json) 

Я продолжаю получать пустые значения, такие как 0 из идентификатора и пустой строки от имени

+1

Вот прохладный онлайн бесплатно утилита, которая будет принимать строку JSON и создать определение класса .Net на его основе - http://jsontodatacontract.azurewebsites.net/ – ChicagoMike

ответ

1

Ваша структура класса немного неполна. Вместо этого попробуйте -

public class Summoner 
{ 
    public int id { get; set; } 
    public string name { get; set; } 
    public int profileIconId { get; set; } 
    public long revisionDate { get; set; } 
    public int summonerLevel { get; set; } 
} 

public class RootObject 
{ 
    public Summoner hell { get; set; } 
} 

var t = new StreamReader("jsonpath"); 
var d = JsonConvert.DeserializeObject<RootObject>(t.ReadToEnd()); 

enter image description here

Смежные вопросы