这刚刚开始发生在没有改变的代码上(它是来自nuget包的外部库)。
如果我这样做:
var client = HttpClient()
var response = await client.PostAsJsonAsync("some url"), someObject);
它将序列化为Json的对象发送,但每个属性使用“k__BackingField”。
这几个月都在100%工作。在使用该库的解决方案中必须更改某些内容,但我不确定是什么。
我已经搜索并看到了很多关于如何在WebAPI项目中修复此问题的示例,但这是一个Windows应用程序。我还没有看到改变它使用的JsonSerializer的配置。
答案 0 :(得分:2)
我刚才遇到了同样的问题。肯定发生了一些变化,因为它可以在几个月内完美地运作。
我的解决方案是将[JsonObject]
属性添加到我的类中。
[JsonObject]
public class MyClass { ... }
这使我可以继续使用属性,而无需将[DataMember]
添加到所有属性。
或者,您可以将所有属性转换为字段,这也应该可以正常工作,但同样需要更多工作。