.net - 如何将哈希表发送到 asmx web 服务?

标签 .net javascript web-services json

我正在尝试使用 JSON 将哈希表发送到我的网络服务。但是,您不能发送字典类型的对象(出于某种原因)。

一个显然有效的解决方案是“List(Of KeyValuePair(Of String, String))”,作为输出:

<WebMethod()> _
Public Function test() As List(Of KeyValuePair(Of String, String))
    Dim ret As New List(Of KeyValuePair(Of String, String))
    ret.Add(New KeyValuePair(Of String, String)("foo", "5"))
    ret.Add(New KeyValuePair(Of String, String)("bar", "baz"))
    Return ret
End Function

输出(json 格式):[{"Key":"foo","Value":"5"},{"Key":"bar","Value":"baz"}]

当我想在 javascript 中重新提交时,我必须使用这个函数:

<WebMethod()> _
Public Sub test2(ByVal obj As List(Of KeyValuePair(Of String, String)))
    Dim dummy As UInt16 = obj.Count
End Sub

我将其用作 JSON 参数字符串:

'{"obj": [{"Key":"foo","Value":"5"},{"Key":"bar","Value":"baz"}]}'

这会返回一个错误。本身不是错误,但“obj”的内容是一个包含 2 个项目的列表,但是当我在调试器中查看它们时,两者都是 Nothing(对于 C# 用户来说是 null)。

如何将配对数据从 javascript 发送到我的网络服务?

最佳答案

如果您更改 test2 以接收 Dictionary 对象列表,我认为您会很高兴。

<WebMethod()> _
Public Sub test2(ByVal obj As List(Of Dictionary(Of String, String)))
    Dim dummy As UInt16 = obj.Count
End Sub

关于.net - 如何将哈希表发送到 asmx web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/862271/

相关文章:

c# - 如何在 linux 中为 .Net Core HttpListener 配置 ssl

.Net - 对一组数值求和的最快方法

javascript - 从 samsclub.com 抓取产品详细信息

javascript - 获取 TreeView 的 JSON 的第一个属性键

java - 配置 Spring Web 服务以接受内容类型 text/xml Soap 1.2 消息

java - 如何解析 txt Web 服务

.Net:在开发软件时,您使用什么方法来完成一些流行的任务,例如禁用/启用工具条按钮的所有按钮?

c# - 在 Winforms 中使用控件(链接标签、 TreeView )

javascript向所有函数添加原型(prototype)方法?

c# - 将变量传递给 catch block