參考文章 :
System.Text.Json與 比較 Newtonsoft.Json ,並移轉至System.Text.Json
System.Text.Json: (De)serialization support for quoted numbers #30255
原本使用 Newtonsoft Json.Net 的程式是不會出現錯誤訊息,但是因為改用 System.Text.Json後執行 JsonSerializer.Deserialize 就出現這個錯誤,因為如果在 json string的數字如果是用雙引號的話就會出現,解決方式為如下
var options = new JsonSerializerOptions { NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString }; ClassWithInts @class = JsonSerializer.Deserializer<ClassWithInts>(json, options);
沒有留言:
張貼留言