2016-12-13 2 views
1

Ich habe die folgenden Daten im JSON-Format.Extrahieren von Daten mit Regex oder JSON

{ 
    "predictions": [ 
    { 
     "prediction": "76A Fonthill Road, Aberdeen, Aberdeenshire, AB11 6UL", 
     "refs": "52833271", 
     "complete": false 
    }, 
    { 
     "prediction": "76B Fonthill Road, Aberdeen, Aberdeenshire, AB11 6UL", 
     "refs": "52833272", 
     "complete": false 
    } 
    ], 
    "status": "Ok" 
} 

Ich habe mit Json.net versucht, aber ich kann die Daten, die ich brauche Ich möchte die Adresse nicht erhalten

76A Fonthill Road, Aberdeen, Aberdeenshire, AB11 6UL 

ich auch

regex Regex Exp = new Regex("\"prediction\":\"(.*),\"refs\""); 

aber es passt mit versucht haben,

76A Fonthill Straße, Aberdeen, Aberdeenshire, AB11 6UL "," refs " : "52833271", "vollständig": false}, { "Vorhersage": "76B Fonthill Road, Aberdeen, AB11 6UL", "refs"

Es versucht, es in PHP mit json_decode() und Regex ich mit kann alle Daten richtig extrahieren.

76A Fonthill Road, Aberdeen, AB11 6UL \ n 76B Fonthill Road, Aberdeen, AB11 6UL \ n *

Ich brauche eine Lösung für C#.

+1

Es sollte relativ einfach Deserialize, dass die Daten in C# ziehen mit JSON.NET. Können Sie den Code, den Sie ausprobiert haben, posten? – Tim

+0

Danke Tim, ich habe einen Fehler in meinem Code gemacht, aber ich bin ziemlich neu in C#, ich verbrachte Stunden und fand heraus, dass ich Prediction als Prediciton geschrieben habe. –

Antwort

3

Erstellen Sie eine Gruppe von Klassen, die zu Ihrem JSON passen.

public class Predictions 
{ 
    public string Prediction { get; set; } 
    public string Refs { get; set; } 
    public bool Complete { get; set; } 
} 

public class PredictionsList 
{ 
    public List<Predictions> Predictions { get; set; } 
    public string Status { get; set; } 
} 

Dann JsonConvert verwenden

var dataDictionary = JsonConvert.DeserializeObject<PredictionsList>(json); 
+0

Dank Seminda, Mein Code war sehr ähnlich zu Ihrem, vielen Dank für die Hilfe. –