0

JSON.NETを使用して.NETオブジェクトをJSONにシリアル化する際に少し問題があります。シリアル化したい出力は次のようになります。

{"members":[

    {"member":
        {
            "id":"4282",
            "status":"1931",
            "aktiv":"1",
            "firmanavn":"firmname1",
            "firmaUrl":"www.firmurl.dk",
            "firmaUrlAlternativ":"",
            "firmaSidstKontrolleretDato":"30-08-2010",
            "firmaGodkendelsesDato":"07-03-2002"
        }
    },
    {"member":
        {
            "id":"4283",
            "status":"1931",
            "aktiv":"1",
            "firmanavn":"firmname2",
            "firmaUrl":"www.firmurl.dk",
            "firmaUrlAlternativ":"",
            "firmaSidstKontrolleretDato":"30-08-2010",
            "firmaGodkendelsesDato":"18-12-2000"
         }
},
      ...... long list of members omitted

今のところ私の.NET構造(正しい出力を得るためにまだ実験中)は次のようになります:

public class Members
{
    public List<Member> MemberList { get; set; }
}

と:

public class Member
{
    [JsonProperty(PropertyName = "Id")]
    public string Id { get; set; }

    [JsonProperty(PropertyName = "Status")]
    public string Status { get; set; }

    [JsonProperty(PropertyName = "Aktiv")]
    public string Aktiv { get; set; }

    [JsonProperty(PropertyName = "Firmanavn")]
    public string Firmanavn { get; set; }

    [JsonProperty(PropertyName = "FirmaUrl")]
    public string FirmaUrl { get; set; }

    [JsonProperty(PropertyName = "AltFirmaUrl")]
    public string AlternativFirmaUrl { get; set; }

    [JsonProperty(PropertyName = "FirmaSidstKontrolleretDato")]
    public string FirmaSidstKontrolleretDato { get; set; }

    [JsonProperty(PropertyName = "FirmaGodkendelsesDato")]
    public string FirmaGodkendelsesDato { get; set; }
}

上記の.NET構造が呼び出すときに私に与えるもの:

string json = JsonConvert.SerializeObject(members, Newtonsoft.Json.Formatting.Indented);

ここで、「members」はメンバーのリストです。これは:

{
  "Members": [
   {
      "Id": "1062",
      "Status": "1933",
      "Aktiv": "1",
      "Firmanavn": "firmname",
      "FirmaUrl": "http://www.firmurl.dk",
      "AltFirmaUrl": "http://www.altfirmurl.dk",
      "FirmaSidstKontrolleretDato": "13-09-2011",
      "FirmaGodkendelsesDato": "13-09-2511"
   },
   {
      "Id": "1060",
      "Status": "1933",
      "Aktiv": "1",
      "Firmanavn": "firmname2",
      "FirmaUrl": "http://www.firmurl.dk",
      "AltFirmaUrl": "http://www.altfirmurldk",
      "FirmaSidstKontrolleretDato": "13-09-2011",
      "FirmaGodkendelsesDato": "13-09-2511"
   },

つまり、基本的には、期待どおりにメンバーの配列を作成するという構造は正しいのですが、各メンバーオブジェクトに「member」:ラベルがありません。そのようなラベルを作成する方法はありますか?ある種のクラス宣言か何か?

私の質問が明確であることを願っていますが、そうでない場合は、私に知らせてください。さらに説明しようと思います。

よろしくお願いします。

/ボー

4

1 に答える 1

1

必要な JSON を取得するには、その名前のプロパティを持つ中間オブジェクトを作成する必要があるように思えます。ただし、元々JSONをレンダリングしたJSON.netを使用することを検討します(構造的に優れているため)。

于 2011-09-14T08:14:21.640 に答える