【问题标题】:Hashtable as JSON from Web Service哈希表作为来自 Web 服务的 JSON
【发布时间】:2011-05-22 06:45:15
【问题描述】:

我正在尝试从 Web 服务以 JSON 格式返回键/值对列表,但使用 Hashtable 时出现序列化错误。

我在其他项目中使用过它,昨天它正在返回一个 Hashtable,但是,似乎发生了一些变化,导致抛出错误:

System.Collections.Hashtable 类型 不支持,因为它实现 字典。

我已经通过使用 List> 解决了这个问题,但我不明白为什么这以前有效而现在无效。

我的方法签名是:

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public List<KeyValuePair<string, object>> FindPosts(string type, string searchText, int offset) {

【问题讨论】:

  • 您之前是如何从 Hashtable 到 JSON 的?您使用的是 .NET 原生 JSON 吗? (我通常使用 JSON.NET。)
  • 你在使用 JavaScriptSerializer 类吗?文档表明支持 Hashtable 的序列化.... msdn.microsoft.com/en-us/library/…
  • 我正在使用内置的 .NET 序列化。

标签: c# asp.net web-services asmx hashtable


【解决方案1】:

内部 Json 序列化程序完全能够序列化/反序列化哈希表,而 Xml 序列化程序不是,因此您可能在代码中的某处使用 Xml 序列化程序而没有注意到它。查看您的代码以确保所有序列化都使用 Json。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    • 2013-06-23
    • 2021-06-22
    • 2012-04-10
    • 2017-09-25
    • 1970-01-01
    相关资源
    最近更新 更多