ServiceStack的TypeSerializer
是否有办法处理盒装对象并取得更多成功?我想象一下它的扩展/设置,以便根据需要对类型进行编码。例如,如果我要序列化和反序列化:
Object x = Guid.NewGuid()
Object y = serializer.DeserializeFromString(serializer.SerializeToString(x))
我最终会在我的新Object
y
中使用带框的字符串,而不是装箱Guid
。如果它足够了解给我一个盒装的Guid会很好。这有可能吗?是否已为TypeSerializer
考虑此功能?
答案 0 :(得分: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");