SORU
10 NİSAN 2013, ÇARŞAMBA


.Net NewtonSoft farklı bir özellik adı için Serisini göster Json

Harici bir partiden alınan aşağıdaki JSON dize var.

{
   "team":[
      {
         "v1":"",
         "attributes":{
            "eighty_min_score":"",
            "home_or_away":"home",
            "score":"22",
            "team_id":"500"
         }
      },
      {
         "v1":"",
         "attributes":{
            "eighty_min_score":"",
            "home_or_away":"away",
            "score":"30",
            "team_id":"600"
         }
      }
   ]
}

Eşleme derslerimi

public class Attributes
{
    public string eighty_min_score { get; set; }
    public string home_or_away { get; set; }
    public string score { get; set; }
    public string team_id { get; set; }
}

public class Team
{
    public string v1 { get; set; }
    public Attributes attributes { get; set; }
}

public class RootObject
{
    public List<Team> team { get; set; }
}

Soru bu ben gibi "Öznitelik sınıfı" ve "öznitelikler alan adı" Takıma sınıf yerine, benim olmak istediğim adında "TeamScore" ve aynı zamanda kaldırmak "_" alan adları ve özel isimler verin.

JsonConvert.DeserializeObject<RootObject>(jsonText);

Bir şekilde değiştirebilirsiniz "" sınıf "TeamScore" eğer dava adı (Takım Sınıf öznitelikleri) değiştirirsem, ama serisini olmaz düzgün ve beni boş veriyor. Öznitelik Bunu nasıl bitireceğim?

Şimdiden teşekkürler.

CEVAP
10 NİSAN 2013, ÇARŞAMBA


Json.NET kod olmalı Json özelliğin adı belirtmek için izin veren bir JsonPropertyAttribute vardır:

public class TeamScore
{
    [JsonProperty("eighty_min_score")]
    public string EightyMinScore { get; set; }
    [JsonProperty("home_or_away")]
    public string HomeOrAway { get; set; }
    [JsonProperty("score ")]
    public string Score { get; set; }
    [JsonProperty("team_id")]
    public string TeamId { get; set; }
}

public class Team
{
    public string v1 { get; set; }
    [JsonProperty("attributes")]
    public TeamScore TeamScores { get; set; }
}

public class RootObject
{
    public List<Team> Team { get; set; }
}

Belgeleri:Serialization Attributes

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fast2hell

    fast2hell

    16 AĞUSTOS 2006
  • Mark Brown

    Mark Brown

    9 HAZİRAN 2010
  • steeletraining

    steeletraini

    28 NİSAN 2010