首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用JavaScriptSerializer反序列化JSON字典列表

使用JavaScriptSerializer反序列化JSON字典列表
EN

Stack Overflow用户
提问于 2013-12-10 11:55:04
回答 1查看 548关注 0票数 0

我一直在对一些JSON进行反序列化,在调试时,我在即时窗口中得到了以下错误:“在System.Web.Extensions.dll中出现了'System.InvalidOperationException‘类型的第一次机会异常”

下面是我试图反序列化的JSON:

代码语言:javascript
代码运行次数:0
运行
复制
{ "Asks":[ [ 919, 11.62026440 ], [ 919.06, 0.07269375 ] ], "Bids":[ [ 901.44, 0.01000050 ], [ 901, 0.25000000 ] ] }

我的班级:

代码语言:javascript
代码运行次数:0
运行
复制
<Serializable()>
Public Class orderbookJsonDeserializerClass

    Private _asks As List(Of Dictionary(Of Double, Double))
    Public Property asks() As List(Of Dictionary(Of Double, Double))
        Get
            Return _asks
        End Get
        Set(ByVal value As List(Of Dictionary(Of Double, Double)))
            _asks = value
        End Set
    End Property

    Private _bids As List(Of Dictionary(Of Double, Double))
    Public Property bids() As List(Of Dictionary(Of Double, Double))
        Get
            Return _bids
        End Get
        Set(ByVal value As List(Of Dictionary(Of Double, Double)))
            _bids = value
        End Set
    End Property
End Class

我的代码:

代码语言:javascript
代码运行次数:0
运行
复制
Dim js As New JavaScriptSerializer
Dim testObj = js.Deserialize(Of orderbookJsonDeserializerClass)(responseFromServer)

在调试时,当它试图执行"Dim testObj = js.Deserialize(Of orderbookJsonDeserializerClass)(responseFromServer)“)”指令时,我得到了前面提到的错误。

EN

回答 1

Stack Overflow用户

发布于 2013-12-11 08:06:52

所以我想我把这件事搞得太复杂了。在创建了一个包含两个对象的类,然后尝试了不同的组合之后,我终于找到了正确的类来将JSON反序列化为:

代码语言:javascript
代码运行次数:0
运行
复制
<Serializable()>
Public Class genericOrderbook
    Public Asks As New List(Of List(Of Double))
    Public Bids As New List(Of List(Of Double))
End Class

现在,我可以遍历并获得所有的出价和要价,以及所有的趣事。问题解决了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20485742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档