2016-06-11 5 views
0

wie kann ich den ff JSON-String deserialisieren:Deserialisierung von JSON-String zurückgibt Nullwert

{"stock":[{"name":"stock1","price":{"currency":"AUD","amount":103.50},"percent_change":-1.33,"volume":1583760,"symbol":"SC1"}],"as_of":"2016-06-10T15:20:00+08:00"} 

ich den Code versucht habe:

JsonConvert.DeserializeObject<stock>(content); 

wo Inhalt Variable über den JSON-String ist. Allerdings bekomme ich null Wert der Eigenschaften.

Hier sind meine Klassen:

public class price 
{ 
    public string currency { get; } 

    public double amount { get; } 
} 


public class stock 
{ 
    public string name { get; } 

    public price price { get; } 

    public double percent_change { get; } 

    public int volume { get; } 

    public string symbol { get; } 
} 

Vielen Dank im Voraus!

Antwort

1

Verwenden Sie diese Klasse für Ihre json String-

public class Price 
{ 
    public string currency { get; set; } 
    public double amount { get; set; } 
} 

public class Stock 
{ 
    public string name { get; set; } 
    public Price price { get; set; } 
    public double percent_change { get; set; } 
    public int volume { get; set; } 
    public string symbol { get; set; } 
} 

public class StockDetails 
{ 
    public List<Stock> stock { get; set; } 
    public string as_of { get; set; } 
} 
+0

Vielen Dank Kumpel, es hat funktioniert! – wuU

2

Fügen Sie einen Setter hinzu:

public string name {get; einstellen; }

- update -

Du eine Liste der Lager in Lager setzen.

die Klasse hinzufügen:

public class container 
{ 
    public List<stock> Stock { get; set; } 
    public string as_of { get; set; } 
} 

Und rufen:

var result = JsonConvert.DeserializeObject<container>(content); 
+0

hallo, ich habe es auf alle Eigenschaften, aber ich immer noch NULL-Werte erhalten – wuU