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”的根元素。
有什么想法吗?
答案 0 :(得分:3)
尝试反序列化Dictionary<string, HubspotRecord>
或Dictionary<string, WebHookResponse>
。我不能说我已经使用了JavaScriptSerializer
,但是我希望它能够在数据库中创建一个条目,其键为“1”并且具有适当的值。值得一试,无论如何:)
或者,您可能希望将它Json.NET加载到类似DOM的结构中,然后反序列化您真正想要的位。