c#:将具有接口的对象序列化为可读格式的属性
我搜索了一下,但找不到满意的答案。我知道有很多序列化程序,比如:DataContractJsonSerializer、JavaScriptSerializer。但这需要一个奇怪的要求,即指定“KnownType”,这在我的场景中是不可能的,因为我序列化的对象属于泛型库,接口的实际实现可能来自客户端。 有什么建议吗?有一个JSON序列化程序,它不需要指定已知类型:c#:将具有接口的对象序列化为可读格式的属性,c#,serialization,C#,Serialization,我搜索了一下,但找不到满意的答案。我知道有很多序列化程序,比如:DataContractJsonSerializer、JavaScriptSerializer。但这需要一个奇怪的要求,即指定“KnownType”,这在我的场景中是不可能的,因为我序列化的对象属于泛型库,接口的实际实现可能来自客户端。 有什么建议吗?有一个JSON序列化程序,它不需要指定已知类型: var json = JsonSerializer.SerializeToString(myObj); 或者使用扩展方法,您可以在任
var json = JsonSerializer.SerializeToString(myObj);
或者使用扩展方法,您可以在任何对象上调用ToJson:
var json = myObj.ToJson();
具有不需要指定已知类型的JSON序列化程序:
var json = JsonSerializer.SerializeToString(myObj);
或者使用扩展方法,您可以在任何对象上调用ToJson:
var json = myObj.ToJson();
Json.Net
有一个方法SerializeObject
。这将为你做这项工作
签名是:
public static string SerializeObject(object value);
用法:
using Newtonsoft.Json;
...
string jsonData = JsonConvert.SerializeObject(obj);
Json.Net
有一个方法SerializeObject
。这将为你做这项工作
签名是:
public static string SerializeObject(object value);
用法:
using Newtonsoft.Json;
...
string jsonData = JsonConvert.SerializeObject(obj);