1

ServiceStack がTypeSerializerボックス化されたオブジェクトをもう少しうまく処理する方法はありますか? 必要に応じて型をエンコードするための拡張/設定を想像しています。たとえば、シリアル化および逆シリアル化する場合:

Object x = Guid.NewGuid()
Object y = serializer.DeserializeFromString(serializer.SerializeToString(x))

Object yボックス化されたではなく、 new でボックス化された文字列になってしまいGuidます。ボックス化された Guid を提供するのに十分な情報があればいいのですが。これは可能ですか?そのような機能は考慮されていTypeSerializerますか?

4

1 に答える 1

1

値の型については、ワイヤー上に出力される型情報はありません。次のように、呼び出しサイトで型情報を指定する必要があります。

object y = x.ToJsv().FromJsv<Guid>();

または、型情報は、逆シリアル化する型に関するものです。たとえば、次のようになります。

public class Poco { 
    public Guid Id { get; set; }
}

var dto = new Poco { Id = Guid.NewGuid() }.ToJsv().FromJsv<Poco>();

または、動的 API を使用することもできます。

object id = JsonObject.Parse(new Poco { Id = Guid.NewGuid() }.ToJson())
    .Get<Guid>("Id");
于 2012-10-22T20:37:12.133 に答える