2017-01-26 4 views
0

Ich bin ein WebService raubend und deserialising das Objekt auf diese Weise:deserialise JSON-Objekt in C#

var content = JsonConvert.DeserializeObject<Member>(result); 

Dies ist der JSON

{ 
    "CREATE": [ 
    { 
     "isValidMemberPassword": true, 
     "member_eid": 13 
    }], 
    "DATE": "2017-01-26 11:25:20" 
} 

Dies sind die Klassen deserialise:

public class Member 
{ 
    public List<Create> Create { get; set; } 
    public string DATE { get; set; } 
} 

public class Create 
{ 
    public bool isValidMemberPassword { get; set; } 
    public int member_eid { get; set; } 
} 

Das Problem ist, dass mein Create Objekt nicht mit den empfangenen Werten erstellt wird. Alle Werte sind null. Das Objekt Member wird ordnungsgemäß erstellt. Ich bin ein Neuling bei C#.

+2

seltsam, funktioniert für mich öffentlich 'Liste CREATE {get zu verwenden – Nico

+2

Versuchen; einstellen; } 'anstelle von' public Liste Create {get; einstellen; } '. Kannst du mir sagen, dass es nicht funktioniert? –

+0

Vielleicht ist "Erstellen" ein Schlüsselwort? Versuchen Sie mit CREATE –

Antwort

1

allererst für JSON konvertieren, Ihre Eigenschaften müssen mit den Eigenschaften Ihres JSON-Code gleich sein. Wenn Sie Probleme beim Konvertieren haben, können Sie json2csharp.com verwenden.

Ich sehe, dass die Eigenschaften des JSON-Codes nicht im richtigen Format sind Regeln (Eigenschaften Namen in Camelcase). Um dies zu korrigieren, können Sie das Attribut JsonProperty mit dem ersten Parameter den Namen der JSON-Eigenschaft verwenden. Siehe Code unten:

public class Member 
{ 
    [JsonProperty("CREATED")] 
    public List<Create> Created { get; set; } 

    [JsonProperty("DATE")] 
    public string Date { get; set; } 
} 

public class Create 
{ 
    [JsonProperty("isValidMemberPassword")] 
    public bool IsValidMemberPassword { get; set; } 

    [JsonProperty("member_eid")] 
    public int MemberEid { get; set; } 
} 
0

Bitte benutzen Sie die unten genannten Klassen

public class CREATE 
{ 
    public bool isValidMemberPassword { get; set; } 
    public int member_eid { get; set; } 
} 

public class RootObject 
{ 
    public List<CREATE> CREATE { get; set; } 
    public string DATE { get; set; } 
} 
+0

oO Hmmmm ... mmm ... – bruno