.NET能否使用Map[]反序列化JSON对象?
我们需要在.NET中使用一些用Java(或者PHP?)编写的web服务,这些服务返回JSON对象。最初,JSON对象完全由字符串属性或其他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
Swagger
文档中定义的JSON定义中有一些属性,例如:
lockPriceByLockTerm (Map[string,BigDecimal], optional)
所有不同JSON类上的所有其他属性都定义为
(字符串)
(数组[字符串])
(其他JSONObject)
(数组[OtherJsonObject])
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[]
字段吗?