在ASP.NET Core 3.0 Web
API项目中,如何指定System.Text.Json序列化选项以自动将Pascal
Case属性序列化/反序列化为Camel Case,反之亦然?
给定具有Pascal Case属性的模型,例如:
public class Person
{
public string Firstname { get; set; }
public string Lastname { get; set; }
}
以及使用System.Text.Json将JSON字符串反序列化为Person
类类型的代码:
var json = "{\"firstname\":\"John\",\"lastname\":\"Smith\"}";
var person = JsonSerializer.Deserialize<Person>(json);
除非将JsonPropertyName与以下每个属性一起使用,否则不会成功反序列化:
public class Person
{
[JsonPropertyName("firstname")
public string Firstname { get; set; }
[JsonPropertyName("lastname")
public string Lastname { get; set; }
}
我在中尝试了以下方法startup.cs
,但在仍然需要方面没有帮助JsonPropertyName
:
services.AddMvc().AddJsonOptions(options =>
{
options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase;
options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
});
// also the following given it's a Web API project
services.AddControllers().AddJsonOptions(options => {
options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase;
options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
});
如何使用新的System.Text.Json命名空间在ASP.NET Core 3.0中设置Camel Case序列化/反序列化?
谢谢!
AddJsonOptions()
将System.Text.Json
仅配置为MVC。如果要JsonSerializer
在自己的代码中使用,则应将配置传递给它。
var options = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
};
var json = "{\"firstname\":\"John\",\"lastname\":\"Smith\"}";
var person = JsonSerializer.Parse<Person>(json, options);
问题内容: 我正在反序列化使用的对象,该对象包含Guid类型的私有字段和该字段的公共属性。当我的json中的my的值为null时,我想分配给我的字段。 但是想要访问私有字段,导致在尝试反序列化时出现此错误: 将值{null}转换为类型’System.Guid’时出错。路径“ [0]。属性”,第6行,位置26。 如何使其忽略私有字段,而使用公共属性? 问题答案: Json.NET拒绝为a 设置值,因
因此,我有一个Spring Boot应用程序,它必须接受参数为“some_value=1500”的GET请求 我试过@JsonProperty(“some_value”),但没有成功。我已经将spring.jackson.property命名策略=SNAKE_CASE添加到我的application.properties文件中,但它仍然不起作用。 重要细节:当我尝试序列化一个对象时,它确实会转换一
在 ASP.NET Core 3.0 Web API 项目中,如何指定 System.Text.Json 序列化选项以将 Pascal Case 属性序列化/反序列化为 Camel Case,反之亦然? 给定一个具有 Pascal Case 属性的模型,例如: 以及使用System.Text的代码。Json将Json字符串反序列化为类的类型: 不会成功反序列化,除非JsonProperty tyN
Wego DBWeb Godaily - github FXH Blog Gos Gobook
Gitea - github.com/go-gitea/gitea Gogs - github.com/gogits/gogs grafana - github.com/grafana/grafana Go语言中文网 - github.com/studygolang/studygolang github.com/m3ng9i/qreader Wego Docker.cn Xorm Adapter
Gitea - github.com/go-gitea/gitea Gogs - github.com/gogits/gogs grafana - github.com/grafana/grafana Go语言中文网 - github.com/studygolang/studygolang github.com/m3ng9i/qreader Wego Docker.cn Xorm Adapter