【发布时间】:2015-04-17 14:45:23
【问题描述】:
好吧....试图将 json 反序列化为“用户”列表,但无法使其工作。 这是 Json:
[{"Aatrox":{"version":"5.2.1","id":"Aatrox","key":"266","name":"Aatrox","title":"the Darkin Blade","blurb":"Aatrox 是一位传奇的战士,是一个被称为 Darkin 的古老种族仅存的五名战士之一。他以优雅和镇定的方式挥舞着他的巨剑,以一种催眠的方式切入军团。看哪。随着每一个敌人被击倒,亚托克斯的...","info":{"attack":8,"defense":4,"magic":3,"difficulty":4},"image":{"full ":"Aatrox.png","sprite":"champion0.png","group":"champion","x":0,"y":0,"w":48,"h":48} ,"tags":["Fighter","Tank"],"partype":"BloodWell","stats":{"hp":537.8,"hpperlevel":85.0,"mp":105.6,"mpperlevel": 45.0,"movespeed":345.0,"armor":24.384,"armorperlevel":3.8,"spellblock":32.1,"spellblockperlevel":1.25,"attackrange":150.0,"hpregen":6.59,"hpregenperlevel":0.5, "mpregen":0.0,"mpregenperlevel":0.0,"crit":0.0,"critperlevel":0.0,"attackdamage":60.376,"attackdamageperlevel":3.2,"attackspeedoffset":-0.04,"attackspeedperlevel":3.0}} ,"阿狸":{"版本":"5.2.1","id":"阿狸","key":" 103","name":"阿狸","title":"九尾狐","blurb":"与其他在爱奥尼亚南部的树林中漫游的狐狸不同,阿狸总觉得与魔法世界有一种奇怪的联系在她身边;不知何故不完整的连接。在内心深处,她觉得自己出生的皮肤不适合……","info":{"attack":3,"defense":4,"magic":8,"difficulty":5 },"image":{"full":"Ahri.png","sprite":"champion0.png","group":"champion","x":48,"y":0,"w" :48,"h":48},"tags":["Mage","Assassin"],"partype":"Mana","stats":{"hp":514.4,"hpperlevel":80.0," mp":334.0,"mpperlevel":50.0,"movespeed":330.0,"armor":20.88,"armorperlevel":3.5,"spellblock":30.0,"spellblockperlevel":0.0,"attackrange":550.0,"hpregen" :6.505,"hpregenperlevel":0.6,"mpregen":6.0,"mpregenperlevel":0.8,"crit":0.0,"critperlevel":0.0,"attackdamage":53.04,"attackdamageperlevel":3.0,"attackspeedoffset":- 0.065,"attackspeedperlevel":2.0}}}]
我正在使用的代码:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim chlist As ChampionName() = JsonConvert.DeserializeObject(Of ChampionName())(jsonString)
TextBox1.Text += "Count: " & chlist.Count.ToString & vbNewLine
For Each s As ChampionName In chlist
TextBox1.Text += "Name: " & s.name & vbNewLine
Next
End Sub
我试图传递数据的类:
Public Class Info
Public Property attack() As Integer
Get
Return m_attack
End Get
Set
m_attack = Value
End Set
End Property
Private m_attack As Integer
Public Property defense() As Integer
Get
Return m_defense
End Get
Set
m_defense = Value
End Set
End Property
Private m_defense As Integer
Public Property magic() As Integer
Get
Return m_magic
End Get
Set
m_magic = Value
End Set
End Property
Private m_magic As Integer
Public Property difficulty() As Integer
Get
Return m_difficulty
End Get
Set
m_difficulty = Value
End Set
End Property
Private m_difficulty As Integer
End Class
Public Class Image
Public Property full() As String
Get
Return m_full
End Get
Set
m_full = Value
End Set
End Property
Private m_full As String
Public Property sprite() As String
Get
Return m_sprite
End Get
Set
m_sprite = Value
End Set
End Property
Private m_sprite As String
Public Property group() As String
Get
Return m_group
End Get
Set
m_group = Value
End Set
End Property
Private m_group As String
Public Property x() As Integer
Get
Return m_x
End Get
Set
m_x = Value
End Set
End Property
Private m_x As Integer
Public Property y() As Integer
Get
Return m_y
End Get
Set
m_y = Value
End Set
End Property
Private m_y As Integer
Public Property w() As Integer
Get
Return m_w
End Get
Set
m_w = Value
End Set
End Property
Private m_w As Integer
Public Property h() As Integer
Get
Return m_h
End Get
Set
m_h = Value
End Set
End Property
Private m_h As Integer
End Class
Public Class Stats
Public Property hp() As Double
Get
Return m_hp
End Get
Set
m_hp = Value
End Set
End Property
Private m_hp As Double
Public Property hpperlevel() As Double
Get
Return m_hpperlevel
End Get
Set
m_hpperlevel = Value
End Set
End Property
Private m_hpperlevel As Double
Public Property mp() As Double
Get
Return m_mp
End Get
Set
m_mp = Value
End Set
End Property
Private m_mp As Double
Public Property mpperlevel() As Double
Get
Return m_mpperlevel
End Get
Set
m_mpperlevel = Value
End Set
End Property
Private m_mpperlevel As Double
Public Property movespeed() As Double
Get
Return m_movespeed
End Get
Set
m_movespeed = Value
End Set
End Property
Private m_movespeed As Double
Public Property armor() As Double
Get
Return m_armor
End Get
Set
m_armor = Value
End Set
End Property
Private m_armor As Double
Public Property armorperlevel() As Double
Get
Return m_armorperlevel
End Get
Set
m_armorperlevel = Value
End Set
End Property
Private m_armorperlevel As Double
Public Property spellblock() As Double
Get
Return m_spellblock
End Get
Set
m_spellblock = Value
End Set
End Property
Private m_spellblock As Double
Public Property spellblockperlevel() As Double
Get
Return m_spellblockperlevel
End Get
Set
m_spellblockperlevel = Value
End Set
End Property
Private m_spellblockperlevel As Double
Public Property attackrange() As Double
Get
Return m_attackrange
End Get
Set
m_attackrange = Value
End Set
End Property
Private m_attackrange As Double
Public Property hpregen() As Double
Get
Return m_hpregen
End Get
Set
m_hpregen = Value
End Set
End Property
Private m_hpregen As Double
Public Property hpregenperlevel() As Double
Get
Return m_hpregenperlevel
End Get
Set
m_hpregenperlevel = Value
End Set
End Property
Private m_hpregenperlevel As Double
Public Property mpregen() As Double
Get
Return m_mpregen
End Get
Set
m_mpregen = Value
End Set
End Property
Private m_mpregen As Double
Public Property mpregenperlevel() As Double
Get
Return m_mpregenperlevel
End Get
Set
m_mpregenperlevel = Value
End Set
End Property
Private m_mpregenperlevel As Double
Public Property crit() As Double
Get
Return m_crit
End Get
Set
m_crit = Value
End Set
End Property
Private m_crit As Double
Public Property critperlevel() As Double
Get
Return m_critperlevel
End Get
Set
m_critperlevel = Value
End Set
End Property
Private m_critperlevel As Double
Public Property attackdamage() As Double
Get
Return m_attackdamage
End Get
Set
m_attackdamage = Value
End Set
End Property
Private m_attackdamage As Double
Public Property attackdamageperlevel() As Double
Get
Return m_attackdamageperlevel
End Get
Set
m_attackdamageperlevel = Value
End Set
End Property
Private m_attackdamageperlevel As Double
Public Property attackspeedoffset() As Double
Get
Return m_attackspeedoffset
End Get
Set
m_attackspeedoffset = Value
End Set
End Property
Private m_attackspeedoffset As Double
Public Property attackspeedperlevel() As Double
Get
Return m_attackspeedperlevel
End Get
Set
m_attackspeedperlevel = Value
End Set
End Property
Private m_attackspeedperlevel As Double
End Class
Public Class ChampionName
Public Property version() As String
Get
Return m_version
End Get
Set
m_version = Value
End Set
End Property
Private m_version As String
Public Property id() As String
Get
Return m_id
End Get
Set
m_id = Value
End Set
End Property
Private m_id As String
Public Property key() As String
Get
Return m_key
End Get
Set
m_key = Value
End Set
End Property
Private m_key As String
Public Property name() As String
Get
Return m_name
End Get
Set
m_name = Value
End Set
End Property
Private m_name As String
Public Property title() As String
Get
Return m_title
End Get
Set
m_title = Value
End Set
End Property
Private m_title As String
Public Property blurb() As String
Get
Return m_blurb
End Get
Set
m_blurb = Value
End Set
End Property
Private m_blurb As String
Public Property info() As Info
Get
Return m_info
End Get
Set
m_info = Value
End Set
End Property
Private m_info As Info
Public Property image() As Image
Get
Return m_image
End Get
Set
m_image = Value
End Set
End Property
Private m_image As Image
Public Property tags() As List(Of String)
Get
Return m_tags
End Get
Set
m_tags = Value
End Set
End Property
Private m_tags As List(Of String)
Public Property partype() As String
Get
Return m_partype
End Get
Set
m_partype = Value
End Set
End Property
Private m_partype As String
Public Property stats() As Stats
Get
Return m_stats
End Get
Set
m_stats = Value
End Set
End Property
Private m_stats As Stats
End Class
Public Class RootObject
Public Property ChampionName() As ChampionName
Get
Return m_ChampionName
End Get
Set
m_ChampionName = Value
End Set
End Property
Private m_ChampionName As ChampionName
End Class
我没有收到任何错误,但也没有得到想要的结果。 这是输出:image
任何帮助将不胜感激!
【问题讨论】:
标签: .net json vb.net serialization deserialization