1

JSON 示例:

{
  "1":{
       "guid":"8a40135230891fa70130891ff1000009",
       "portalId":23832
      }
}

我用来反序列化的代码是:

var serializer = new JavaScriptSerializer();
var lead = serializer.Deserialize<WebHookResponse>([json]);

我与反序列化代码一起使用的代码是:

public class WebHookResponse
{
  public HubspotRecord Record { get; set; }
}

构成 HubspotRecord 的代码被省略了。当我对未包裹在“1”后面的 json 数据运行该过程时,它可以完美运行。

目前我在想我的问题是json被包裹在“1”中。由于命名约定,我无法将属性与 JavaScriptSerializer 一起使用,也无法创建标记为“1”的根元素。

有什么想法吗?

4

1 回答 1

3

尝试反序列化它做 aDictionary<string, HubspotRecord>或 a Dictionary<string, WebHookResponse>。我不能说我已经使用了JavaScriptSerializer很多,但我希望它能够在数据库中创建一个条目,其键为“1”和适当的值。无论如何,值得一试:)

Alternatively, you might want to load it in Json.NET into a DOM-like structure, and just deserialize the bit you really want.

于 2011-06-13T16:57:38.037 回答