.NET能否使用Map[]反序列化JSON对象?

.NET能否使用Map[]反序列化JSON对象?,.net,json,vb.net,deserialization,json-deserialization,.net,Json,Vb.net,Deserialization,Json Deserialization,我们需要在.NET中使用一些用Java(或者PHP?)编写的web服务,这些服务返回JSON对象。最初,JSON对象完全由字符串属性或其他JSON对象的数组组成 不过,他们最近对其进行了更新,Swagger文档中定义的JSON定义中有一些属性,例如: lockPriceByLockTerm (Map[string,BigDecimal], optional) 所有不同JSON类上的所有其他属性都定义为 (字符串) (数组[字符串]) (其他JSONObject) (数组[OtherJsonO

我们需要在.NET中使用一些用Java(或者PHP?)编写的web服务,这些服务返回JSON对象。最初,JSON对象完全由字符串属性或其他JSON对象的数组组成

不过,他们最近对其进行了更新,
Swagger
文档中定义的JSON定义中有一些属性,例如:

lockPriceByLockTerm (Map[string,BigDecimal], optional)
所有不同JSON类上的所有其他属性都定义为

  • (字符串)
  • (数组[字符串])
  • (其他JSONObject)
  • (数组[OtherJsonObject])
最初,我打算使用以下代码将JSON反序列化为具有匹配定义的.NET类:

Public Function FromJSON(Of T)(data As String) As T
    Dim rv As T
    Dim serializer = New System.Runtime.Serialization.Json.DataContractJsonSerializer(rv.GetType)
    Using ms As MemoryStream = New MemoryStream(Encoding.UTF8.GetBytes(data))
        rv = CType(serializer.ReadObject(ms), T)

        Return rv
    End Using
End Function
这段代码能处理那些
Map[]
的事情吗?我需要在目标类上创建相应属性的类/类型是什么?我假设它会像一本
字典(双精度,字符串)
或其他什么。。。但是我不知道
DataContractJsonSerializer
是否能够处理这些问题

我以前已经对JSON进行了一些基本的对象序列化,但这是我第一次尝试从JSON反序列化

由于该项目的运行方式(托管在基于云的系统中,下载到客户端机器上),我们无法真正使用任何第三方DLL。它需要严格在.NET框架本身上运行


我们在VB.NET框架4.5上工作。

我建议使用而不是DataContractJsonSerializer(即使它可能可以完成这项工作)

什么是“那些映射[]东西”?这看起来不像VB语法,这是web服务的Swagger文档中描述属性的方式。我还添加了所有类使用的其他已定义属性类型。是否有原因不使用我们的DLL,因为它被附加到第三方云应用程序中的自定义表单。据我所知,我们没有办法连接其他DLL。除了知道框架本身将被安装之外,我们实际上无法控制最终用户的运行时环境。。。我需要和我刚找到的其他东西一起玩。您确定JSON.NET能够处理那些
Map[]
字段吗?