2016-12-13 3 views
1

J'ai les données suivantes au format json.Extraire des données en utilisant regex ou 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" 
} 

J'ai essayé d'utiliser Json.net mais je ne peux pas obtenir les données dont j'ai besoin, je veux l'adresse

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

J'ai également essayé d'utiliser

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

mais il correspond

76A Rue Fonthill, Aberdeen, Aberdeenshire, AB11 6UL "," refs " : "52833271", "complet": false}, { "prédiction": "76B Fonthill Road, Aberdeen, Aberdeenshire, AB11 6UL", "refs"

Il a essayé en PHP avec json_decode() et en utilisant Regex I peut extraire toutes les données correctement.

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

je besoin d'une solution pour C#.

+1

Il devrait être relativement simple de tirer que les données en C# avec JSON.NET. Pouvez-vous poster le code que vous avez essayé? – Tim

+0

Merci Tim, j'ai fait une erreur dans mon code, mais je suis assez nouveau pour C#, j'ai passé des heures et j'ai compris que j'avais écrit Prediction comme Prediciton. –

Répondre

3

Créez un ensemble de classes correspondant à votre JSON.

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; } 
} 

Ensuite, utilisez JsonConvert désérialiser

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

Merci Seminda, Mon code était très semblable au vôtre, merci beaucoup pour l'aide. –