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」と適切な値を持つエントリがデータベースに作成されることを期待しています。とにかく、試してみる価値があります:)

または、 Json.NETで DOM のような構造にロードし、本当に必要な部分だけを逆シリアル化することもできます。

于 2011-06-13T16:57:38.037 に答える