WorldWeatherOnline の Marine Apiを解析するために ServiceStack.Text を使用しています。
下の画像の 2 列目に示すように、JSON をデシリアライズすると、ライブラリは JSON を正しく解析しません。
これは JSON の一部です (簡潔にするために省略されています)。
{
"data":{
"nearest_area":[
{
"distance_miles":"36.8",
"latitude":"53.965",
"longitude":"0.456"
}
]
}
}
そして、これは私がそれをデシリアライズしようとしているクラスです
public class Weather
{
public NearestArea NearestArea { get; set; }
}
public class NearestArea
{
public double? RetLatitude { get; set; }
public double? RetLongitude { get; set; }
public double? MilesFromReq { get; set; }
}
これは、逆シリアル化を行っているコードのビットです
Weather result = JsonObject.Parse(content).Object("data").ConvertTo(x=> new Weather{
NearestArea = x.Object("nearest_area").ConvertTo(n => new NearestArea{
MilesFromReq = Convert.ToDouble(n.Get("distance_miles")),
RetLatitude = Convert.ToDouble(n.Get ("latitude")),
RetLongitude = Convert.ToDouble(n.Get ("longitude"))
})
誰でも問題を見つけることができますか?