【问题标题】:How to parse JSON object into a list of objects in C#如何将 JSON 对象解析为 C# 中的对象列表
【发布时间】:2020-03-15 22:39:54
【问题描述】:

我们的组织最近将其数据库从 sqlserver 更改为 elasticsearch,我正在为此创建一个应用程序, 我可以成功创建一个索引并用一些信息填充它,但是当我检索信息时,它会返回我真正想要的数据以及在这种情况下我并不真正需要的大量元数据,现在我的问题是如何提取我需要的确切数据以及如何将其存储在列表中, 这是我按下搜索索引按钮时来自server 的响应

但我对恰好在第二次“命中”之后出现的信息感兴趣,特别是我想提取“_id”、“Firstname”、“Lastname”并将其存储在具有相应字段的 person 类型的通用列表中. 它是代码隐藏文件中的代码

【问题讨论】:

标签: javascript c# json elasticsearch json.net


【解决方案1】:

将示例 JSON 响应复制到剪贴板并通过以下方式生成一些 Json 类:

一个。在 Visual Studio 中选择编辑/选择性粘贴/将 JSON 粘贴为类

b.如果您的数据不敏感/您可以清理它,请使用在线网站,例如http://json2csharp.com

然后从 Root 对象反序列化。

using var stream = new MemoryStream(data);
using var reader = new StreamReader(stream, Encoding.UTF8);
using var jsonReader = new JsonTextReader(reader);

var json = JsonSerializer.Create().Deserialize<Rootobject>(jsonReader);

然后拿走你需要的那一点。

var response = json.hits.hits;

您可以通过清除外部对象上不想反序列化的所有属性来进一步优化流程。

【讨论】:

  • 非常感谢,这确实是答案。谢谢stackowerflow.com
猜你喜欢
  • 2019-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-18
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
相关资源
最近更新 更多