【问题标题】:json is parsed as nulljson 被解析为 null
【发布时间】:2022-01-25 23:45:02
【问题描述】:

我有一个像下面这样的 json 结构。

{"data":{"accountType":"New"}}

这个模型如下。

 public class Data
 {
     public string accountType { get; set; }
 }

以下是我如何使用 System.Text.Json 解析这些数据。

string json2 = "{\"data\":{\"accountType\":\"New\"}}\n";
var account = JsonSerializer.Deserialize<Data>(json2);

account 被解析为null。我在这里做错了什么?

【问题讨论】:

  • 您忽略了第一级。您拥有的代码假设 accountType 是顶级的,看起来像 {"accountType":"New"}。您需要创建一个新类,其属性类型为Data,名为data。有趣的是,在 Visual Studio 中,如果您复制原始 JSON 并转到 Edit &gt; Paste Special &gt; Paste JSON As Classes,它将为您创建结构。

标签: c# json .net-core json-deserialization system.text.json


【解决方案1】:

你需要一个根类

public class Root
 {
     public Data data { get; set; }
 }
public class Data
 {
     public string accountType { get; set; }
 }

和代码

var account = JsonSerializer.Deserialize<Root>(json2);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    相关资源
    最近更新 更多