Json.NET Сериализация моего объекта дает мне неправильный вывод - PullRequest
0 голосов
/ 14 сентября 2011

У меня небольшая проблема с сериализацией моих объектов .NET в JSON с использованием JSON.NET.Вывод, который я хочу сериализовать, должен выглядеть следующим образом:

{"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": на каждом из объектов-членов.Есть ли способ сделать такой ярлык?Какое-то объявление класса или что-то в этом роде?

Надеюсь, мой вопрос ясен, если нет - пожалуйста, дайте мне знать, и я постараюсь объяснить дальше.

Заранее большое спасибо.

/ Бо

1 Ответ

1 голос
/ 14 сентября 2011

Похоже, вам просто нужно создать промежуточный объект со свойством с таким именем, чтобы получить желаемый JSON;Тем не менее, я бы подумал об использовании JSON.net, изначально визуализированного JSON (так как он структурно лучше).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...