C# 向Web服务发送哈希表

C# 向Web服务发送哈希表,c#,asp.net,json,dictionary,web-services,C#,Asp.net,Json,Dictionary,Web Services,我正在尝试向asp.net Web服务发送具有通用键和值类型的项目列表。 我该怎么做? 我用List试过了,但这不起作用。我没有得到异常,但是当我打开WebService时,我的集合为空。 数据可能如下所示: {“数据”:{“字段类型”:“整型”,“isrequired”:true,“isrequirederror”:“无效数据”}。 但正如我所说,键是通用的,有时有更多的属性,有时没有 大量Thx 顺便说一句,这篇文章帮不了我: :这不是一个列表 这是一本字典 这有帮助吗?实现IDictio

我正在尝试向asp.net Web服务发送具有通用键和值类型的项目列表。 我该怎么做? 我用
List
试过了,但这不起作用。我没有得到异常,但是当我打开WebService时,我的集合为空。 数据可能如下所示:
{“数据”:{“字段类型”:“整型”,“isrequired”:true,“isrequirederror”:“无效数据”}。
但正如我所说,键是通用的,有时有更多的属性,有时没有

大量Thx

顺便说一句,这篇文章帮不了我:

:这不是一个
列表

这是一本
字典


这有帮助吗?

实现
IDictionary
的类不能序列化为XML,这是
XmlSerializer
类的一个限制。通常的解决方法是实现
IXmlSerializable
,以提供自定义序列化逻辑,如下所示。另一种选择是将字典转换为键/值对列表

如果您想在服务中引入任何类型的泛型(从序列化/反序列化问题开始,到完成互操作性问题),那么SOA和WCF的使用将非常困难

不要使用泛型参数。由于读/写操作的性能,哈希表(或字典)只有在进程内使用时才有意义。如果要通过导线以这种格式传输内容,请使用以下结构:
对列表(字符串,字符串)。

现在我得到了这个异常:{“消息”:“无法将类型为\u0027System.string\u0027的对象转换为类型为\u0027System.Collections.Generic.Dictionary`2[System.string,System.string]\u0027”,“StackTrace”:在System.Web.Script.serialization使用IXmlSerializable的解决方案对我不起作用,你能解释一下其他解决方案吗?你说的“不起作用”是什么意思?你到底做了什么?我该怎么做?我添加了类并更新了我的Wevservice方法。无论如何……我想我必须将所有值转换为字符串将你的对象声明为
SerializableDictionary
而不是
Dictionary
我得到一个异常:无法将\u0027System.String\u0027类型的对象转换为\u0类型027SerializableDictionary`2[System.String,System.Object]\u0027,“StackTrace”:
{"Data":
 {"fieldtype":"integer",
  "isrequired":true,
  "isrequirederror":"Invalid Data"
 }
}