2 回答
TA贡献1799条经验 获得超8个赞
一种选择是在类中序列化它
[DataContact]
public class ADesired
{
[DataMember]
public B Inner {get; set;}
public string InnerAsJsonString => Newtonsoft.Json.JsonConvert.SerializeObject(Inner);
}
TA贡献1805条经验 获得超10个赞
如果你不关心性能,你可以使用 JObject 作为 Json-Property 类型。
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
[DatanContract]
public class ADesired
{
[JsonIgnore]
public B Inner { get; set; }
[JsonIgnore]
public string InnerJson { get; set; }
[DataMember]
[JsonProperty(nameof(Inner))
public JObject JInner
{
get => JObject.FromObject(Inner);
set { Inner = value.ToObject<B>(); InnerJson = value.ToString(); }
}
}
这样在反序列化时,实际的 json 被保存为 json InnerJson,可以是什么,反序列化为Inner,当序列化回来时,任何内容Inner都会被序列化。
- 2 回答
- 0 关注
- 264 浏览
添加回答
举报