在将对象数组序列化为JSON时,有没有办法强制执行__type属性?例如,我有以下数组:
var data = new object[]
{
"string value",
new Dictionary<string, object>
{
{"name", 1.23}
}
};
当我使用
序列化时var json = JsonSerializer.SerializeToString(data);
我得到以下结果
["string value",{"name":1.23}]
使用
进行反序列化var result = JsonSerializer.DeserializeFromString<object[]>(json);
// result == new object[] {"string value", "{name:1.23}"}
导致包含两个字符串的数组。第二个是JSON序列化字典表示。
有没有办法强制执行__type属性以允许ServiceStack反序列化为正确的类型?该数组几乎可以包含任何可序列化的JSON。
这是两侧都有ServiceStack的内部API。编译时不知道可能的类型。