我正在学习 C# 并尝试读取一些 json 文件。我已经学会了如何读取 ok ,除非属性用连字符连接 - 我不知道如何对 json 进行建模以反序列化它。
所以如果我有以下 Json:
{
"prop1": "val1"
}
Run Code Online (Sandbox Code Playgroud)
我会这样做:
class MyJson
{
public string prop1;
}
MyJson? myJson = JsonSerializer.Deserialize<MyJson>(jsonStr);
Run Code Online (Sandbox Code Playgroud)
但如果我有这个 Json:
{
"prop-1": "val1"
}
Run Code Online (Sandbox Code Playgroud)
我显然不能这样做:
class MyJson
{
public string prop-1;
}
MyJson? myJson = JsonSerializer.Deserialize<MyJson>(jsonStr);
Run Code Online (Sandbox Code Playgroud)
那么我该如何反序列化上面带有连字符属性的 Json 呢?
我发现了大量有关读取和写入 Json 的优质资源,但是当属性用连字符连接时却没有任何解释。
非常感谢。
您可以使用[JsonPropertyName("name")]属性。像这样在你的财产上方使用它
class MyJson
{
[JsonPropertyName("prop-1")]
public string Prop1 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
使用 时Newtonsoft,请改用[JsonProperty("name")]属性。
| 归档时间: |
|
| 查看次数: |
37 次 |
| 最近记录: |