我的示例代码非常简单:
using System.Text.Json.Serialization;
using Newtonsoft.Json;
public class C {
public C(string PracticeName) { this.PracticeName = PracticeName; }
public string PracticeName;
}
var x = new C("1");
var json = JsonConvert.SerializeObject(x); // returns "{\"PracticeName\":\"1\"}"
var x1 = JsonConvert.DeserializeObject<C>(json); // correctly builds a C
var x2 = System.Text.Json.Serialization.JsonSerializer.Parse<C>(json);
最后一行提出:
抛出异常:System.Text.Json.dll 中的“System.NullReferenceException”对象引用未设置为对象的实例。
我究竟做错了什么 ?
(注意这是最新的 .NET Core 3 预览版 5 和最新的 System.Text.Json 4.6.0-preview6.19259.10)
添加无参数构造函数可以防止异常,但是我不想要/不需要无参数构造函数,并且 Json.Net 在没有它的情况下解析得很好。
有没有办法让 System.Text.Json 像 Json.Net 一样使用给定的构造函数进行解析?