我有以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"
}
我尝试过使用Json.net,但是我无法得到我需要的数据,我想要地址
76A Fonthill Road, Aberdeen, Aberdeenshire, AB11 6UL
我也尝试过使用
regex Regex Exp = new Regex("\"prediction\":\"(.*),\"refs\"");
但匹配
76A Fonthill Road,Aberdeen,Aberdeenshire,AB11 6UL“,”refs“:”52833271“,”complete“:false},{”forecast“:”76B Fonthill Road,Aberdeen,Aberdeenshire,AB11 6UL“,”refs “
它在PHP中使用json_decode()
进行了尝试,使用正则表达式我可以正确地提取所有数据。
76A Fonthill Road,Aberdeen,Aberdeenshire,AB11 6UL \ n 阿伯丁,阿伯丁Fonthill路76B号,AB11 6UL \ n *
我需要c#的解决方案。
答案 0 :(得分:3)
创建一组与您的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; }
}
然后使用JsonConvert反序列化
var dataDictionary = JsonConvert.DeserializeObject<PredictionsList>(json);