如何从 json 字符串获取对象列表 c# Newtonsoft.json

2024-04-15

我正在尝试将 JSON 字符串转换为对象列表,但收到错误

无法将当前 JSON 对象反序列化为 List 类型,因为该类型需要 JSON 数组才能正确反序列化。

我检索 json,它看起来像这样

{
    "Code":0,
    "Message":"OK",
    "Data":
    {
        "Houses":
        [
            {
                "Id":1,
                "Name":"House 1",
                "Area":"22.00",
                "ShortName":"H1",
                "FarmName":"Farm 1"
            },
            {
                "Id":2,
                "Name":"Farmi1 - House 1",
                "Area":"1000.00",
                "ShortName":"H1",
                "FarmName":"Farm 1"
            }
        ]
    }
}

然后我说

List<House> Houses = JsonConvert.DeserializeObject<List<House>>(json); 

您获得的 JSON 字符串不是列表,而是一个在嵌套级别上具有列表的对象。您必须反序列化最外层的结构,然后获取相应的嵌套属性。

您可以定义一个代表数据完整结构的整个类,或者,如果您只对房屋列表感兴趣,则只需使用 JObjects

var o = JsonConvert.DeserializeObject<JObject>(json);
var h = o.Value<JObject>("Data")
    .Value<JArray>("Houses")
    .ToObject<List<Houses>>();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 json 字符串获取对象列表 c# Newtonsoft.json 的相关文章

  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 将基本 Access 查询条件表示为正则表达式

    我熟悉 Access 的查询和过滤条件 但我不确定如何将类似的语句表达为正则表达式模式 我想知道是否有人可以帮助将他们与我理解的一些简单示例联系起来 如果我使用正则表达式来匹配 Access 等字段 我将如何表达以下语句 示例与此中找到的示
  • 为什么 ImageView 无法在 SystemClock.sleep() 之前更新

    我想在翻转旧图像后 3 秒内在 ImageView 中显示其他图像 代码 OnClickListener oc new OnClickListener Override public void onClick View v ImageVie
  • Jobb 崩溃 FAT 已满

    我尝试使用 jobb 库编译视频 问题是 jobb 崩溃 视频大小超过 500 MB 以下是有关此问题的一些信息 java io IOException FAT Full 459872 459873 at de waldheinz fs f
  • 检查字符串是否是编译时已知的文字字符串?

    我正在编写一个库 并且我有一个接受字典的方法 字典的值是不可信 不安全的 但密钥是可信的 如果最终用户能够输入任意密钥名称 那么可能会发生 坏事 所以当其他开发者使用这个库函数时 我想强制他们在编译时知道键名 所以这样的事情是被允许的 st
  • 不知道如何在给定私钥和消息的情况下生成 ECDSA 签名

    我正在跟进苹果的指南 https developer apple com library ios documentation DataManagement Conceptual CloutKitWebServicesReference Se
  • 两个非常相似的集合之一上的“‘dimnames’[2] 的长度不等于数组范围”

    我在两个数据框中收集了数据vols and flow 后者可以转换为矩阵 但第一个不能 as matrix vols Error in colnames lt tmp value c CanovesSamalus Llinars lengt
  • PHPExcel 一起单元格包含相同的数据问题

    当我使用 PHPExcel 类读取 ods 文件 xls 和 xlsx 都可以 并且两个单元格在一起并包含相同的数据时 第二个单元格变为空白 这是一个错误吗 这是我的代码
  • 解压...缺少参数

    我正在编写一个接受可变数量参数的函数 此外 我希望用户能够将其中一些参数保留为缺失 只考虑转动的任务 到参数列表中 这是我的第一次尝试 f lt function list 这失败了 f 1 2 Error in f 1 2 argumen
  • RSpec 和 ActiveModel

    我有一个模块 它包含 activemodel 我想使用 rspec 测试它 这是我到目前为止的设置 lib my module base rb my module rb spec my module spec rb spec helper
  • 从链接到 Oracle 的 SQL Server 编写 SQL 查询时如何指定日期文字?

    我有一个链接到 Oracle 12 1 数据库的 SQL Server 12 0 数据库 我想在 SQL Server 数据库中创建一个视图 该视图返回按日期筛选的 Oracle 表中的数据 Oracle 表在日期列上有一个索引 成功运行的
  • jQuery Uncaught TypeError:无法读取未定义的属性“fn”(匿名函数)

    全部 我下载的一些代码出现错误 这是代码 wl Alert v 1 1 description Handles alert boxes dependency jquery UI Slider fadeOutSlide plugin fn w
  • Java - 如何使用类文件?

    我是 Java 新手 想知道如何将类文件导入 netbeans 并使用它 我知道类文件是机器可读的字节代码 但我不关心幕后发生了什么 我只想将其导入到我当前的项目中并让它识别它 以便我可以使用该类 此外 类文件嵌入在 JAR 文件中 我将
  • 右对齐文本?

    我试图举一个例子来试验不同的对齐方式作为演示 左对齐 居中 右对齐 对齐和中左对齐文本都很容易 如我的演示所示 你可以看这个例子here http jsbin com avuzuf 1 edit在 JSBin 上 如何获得右对齐的文本而不弄
  • 在骨干模型上声明变量而不设置默认值

    我刚刚开始使用backbone js 我正在寻找一种在模型上声明字段而无需提供默认值的方法 它实际上仅供参考 以便当我开始创建实例时 我可以看到需要初始化哪些字段 用java之类的东西我会写 public class CartLine St
  • Doctrine OneToMany 关系错误

    我试图通过 Symfony2 2 3 0 使用 Doctrine 2 2 3 在数据库中的对象上建立一些 ManyToOne OneToMany 关系 但出现了一个奇怪的错误 以下是对象的相关部分 一种产品的许多属性 Product ORM
  • mongoengine - 忽略架构验证的额外字段

    我正在尝试查询我的数据库 目前 某些记录具有未包含在我的模型架构中的额外字段 由于错误 但我想处理这些情况 当我尝试查询数据库并将记录转换为模式时 出现以下错误 FieldDoesNotExist The field X does not
  • 从旧的 Git 提交中删除私有信息

    我有一个使用 Git 进行版本控制的项目 我想将其开源 但其中包含一些特定于其最初使用环境的私人信息 我将更改相关信息以从未包含在存储库中的配置文件加载 我意识到我应该首先这样做 但由于私人信息仍然存在于之前的提交中 我该如何将其从我的历史
  • 如何使用服务更改作用域变量?

    我有一个应用程序 应用程序内部有一个注册和登录表单 通过注册表单 当用户创建帐户时 他们会自动登录 通过登录表单 用户也可以登录 显然 我有两个控制器 一个用于注册表单 一个用于登录表单 我希望他们能够共享一个服务 logIn 因为两种形式
  • 基于 Spring Boot AMQP 的 JmsListener 在 TextMessage 上失败

    我有一个 Spring Boot 应用程序 在检索类型的 JMS 消息时遇到问题TextMessage来自 ActiveMQ 代理 如果消费者尝试从代理检索消息 它无法自动将消息转换为 TextMessage 而是将其视为 ByteMess
  • 如何从 json 字符串获取对象列表 c# Newtonsoft.json

    我正在尝试将 JSON 字符串转换为对象列表 但收到错误 无法将当前 JSON 对象反序列化为 List 类型 因为该类型需要 JSON 数组才能正确反序列化 我检索 json 它看起来像这样 Code 0 Message OK Data