首页 >后端开发 >C++ >如何使用 JSON.NET 将 JSON 字符串反序列化为 C# 对象列表?

如何使用 JSON.NET 将 JSON 字符串反序列化为 C# 对象列表?

Patricia Arquette
Patricia Arquette原创
2025-01-03 15:41:44459浏览

How to Deserialize a JSON String into a C# List of Objects using JSON.NET?

如何使用 Newtonsoft 的 JSON.NET 将 JSON 字符串转换为 C# 对象列表

场景:

您需要将 JSON 字符串转换为 C# 对象列表,具体使用 MatrixModel类,其中包含各种属性。 JSON 字符串包含 MatrixModel 的多个实例的数据,仅填充了属性的子集。

转换方法:

  1. 利用 json2csharp.com 进行转换将 JSON 字符串转换为定义类结构的 C# 代码。
  2. 使用 Newtonsoft.JSON JsonConvert.DeserializeObject;将 JSON 字符串反序列化为 C# 对象列表的方法。

实现:

  1. 生成 C# 模型:

    • 前往json2csharp.com
    • 将 JSON 字符串粘贴到输入字段
    • 点击“生成”创建相应的 C# 代码
  2. 反序列化JSON:

    • 创建一个 C# 属性来表示 JSON 字符串,例如字符串 json。
    • 使用以下命令将 JSON 字符串反序列化为 MatrixModel 对象列表代码:
    • var models = JsonConvert.DeserializeObject<List<MatrixModel>>(json);

      示例:

      假设以下 JSON 字符串:

      {
      "questions": [
       {
       "QuestionId": 49,
       "QuestionText": "What's your name?",
       "S9": "Pratik"
       },
       {
       "QuestionId": 51,
       "QuestionText": "Are you smart?",
       "S7": "True"
       }
      ]
      }

      生成的 C#模型:

      public class MatrixModel
      {
       public int QuestionId { get; set; }
       public string QuestionText { get; set; }
       public string S9 { get; set; }
       public string S7 { get; set; }
      }

public class RootObject
{

public List<MatrixModel> questions { get; set; }

}

**Deserialization:**

string json = "{...}";
var models = JsonConvert.DeserializeObject>(json);

**Note:**

以上是如何使用 JSON.NET 将 JSON 字符串反序列化为 C# 对象列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn