在 Blazor webassembly 中,有一种方法可以强制对 httpclient 和 GetJsonAsync、PostAsJsonAsync 等方法使用 Newtonsoft.Json 序列化。
或者唯一的方法是编写辅助方法并使用 GetAsync,然后使用 Newtonsoft.Json 手动序列化响应?
在 Blazor webassembly 中,有一种方法可以强制对 httpclient 和 GetJsonAsync、PostAsJsonAsync 等方法使用 Newtonsoft.Json 序列化。
或者唯一的方法是编写辅助方法并使用 GetAsync,然后使用 Newtonsoft.Json 手动序列化响应?
有没有办法强制将 Newtonsoft.Json 用于... PostAsJsonAsync 等。
不,这种情况最近发生了一些变化,尤其是对于 Blazor。但是 System.Net.Http.Json.HttpClientJsonExtensions 现在直接依赖于 System.Text.Json,不可插拔。
所以是的,你必须编写自己的助手,没什么大不了的。链接器甚至可能会删除发布版本中的 System.Text.Json 类,我不确定。
但反面的问题当然是你为什么需要这个?NewtonSoft 从现在开始就是旧版,如果您确实有不兼容的数据,可能会询问您是否可以使用一些 System.Text 选项解决此问题。