2017-08-23 1 views
1

Ich versuche, einen JSON-StringDeserialising JSON String mit dem Objekt JSON in der Zeichenfolge serialisiert

string filter = @"[{""property"":""Student_PK"",""value"":""1""}]"; 

Mein erster Schritt zu

war deserialise
JsonConvert.DeserializeObject<Dictionary<string, string>>(filter) 

, die nicht funktioniert hat. Ich habe jedoch eine Klasse hinzugefügt, um das Objekt zu deserialisieren.

public class filterObject 
{ 
    [JsonProperty("property")] 
    string property {get; set;} 

    [JsonProperty("value")] 
    Object value { get; set; } 
} 

die folgenden Rennen auch nicht

JsonConvert.DeserializeObject<filterObject>(filter) 

In diesem Szenario nicht funktioniert, ich habe keine Kontrolle über die String-Filter, da dies von Sencha erzeugt wird.

Wie sonst kann ich diese JSON-Zeichenfolge deserialisieren sowie mehrere JSON-Objekte (Eigenschaftswertkombination) berücksichtigen, die in einer einzigen Zeichenfolge zurückgegeben werden.

Antwort

0

Ihre Wurzel ist ein Array von Objekten und kein Objekt.

Versuchen JsonConvert.DeserializeObject<Dictionary<string, string>[]>(filter)

Oder mit dem zweiten Ansatz sollte es JsonConvert.DeserializeObject<filterObject[]>(filter)

+0

Ich benutze 'JsonConvert.DeserializeObject []> (Filter)' Ich fügte dann ein '. ToDictionary (c => c [" Eigenschaft "], c => c [" Wert "]) 'um dies zurück in ein' Dictionary user1015668

1

Daten im Format JSON-Array, also serialisiert Json mit der Liste der Object-Klasse, versuchen diese,

JsonConvert.DeserializeObject<List<filterObject>>(filter); 
+0

sein Mit diesem ich nicht den Wert der Schlüssel Eigenschaft und einen Wert abrufen können. – user1015668

Verwandte Themen