1

私はこのようなjson応答を持っています

{ latitude: 30.4848, longitude: -70.5484 }

今、私はnewtonsoftJSON.NETで逆シリアル化するためにこれを行っています

JsonConvert.DeserializeObject<Test>(json);

そしてこれに逆シリアル化

[JsonObject(MemberSerialization.OptIn)]
public class Test
{
    [JsonProperty(PropertyName = "longitude")]
    public double Longitude{ get; set; }

    [JsonProperty(PropertyName = "latitude")]
    public double Latitude { get; set; }
}

緯度と経度をGeoCoordinateオブジェクトの経度と緯度のプロパティとして逆シリアル化したい

public class Test
{
    public GeoCoordinate Location{ get; set; }
}
4

1 に答える 1

5

それはあなたが尋ねたものではありませんが、Location代わりにこのように定義することができます

[JsonObject(MemberSerialization.OptIn)]
public class Test
{
    private GeoCoordindate _location;

    [JsonProperty(PropertyName = "longitude")]
    public double Longitude{ get; set; }

    [JsonProperty(PropertyName = "latitude")]
    public double Latitude { get; set; }

    public GeoCoordinate Location
    {
        get
        {
            if (_location == null)
                _location = new GeoCoordinate(Latitude, Longitude);

            return _location;
        }
    }
}
于 2012-07-11T01:33:41.830 に答える