【发布时间】:2009-05-14 08:52:23
【问题描述】:
我正在尝试使用 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 发送到我的网络服务?
【问题讨论】:
标签: .net javascript web-services json