使用 Json.Net C# 获取 json 对象中的值和键

2023-12-22

你好,我的 json 看起来像这样:

{
    "Id": " 357342524563456678",
    "title": "Person",
    "language": "eng",
    "questionAnswer": [
        {
            "4534538254745646.1": {
                "firstName": "Janet",
                "questionNumber": "1.1"
            }
        }
    ]
}

现在我已经编写了一些循环遍历对象中的代码questionAnswer数组,然后获取对象的名称4534538254745646.1。现在我试图保存每个项目的键和值,但我只能设法获取值。

我该怎么做,这是我的代码:

JToken entireJson = JToken.Parse(json);
JArray inner = entireJson["questionAnswer"].Value<JArray>();


foreach(var item in inner)
{
     JProperty questionAnswerDetails = item.First.Value<JProperty>();
     //This line gets the name, which is fine
     var questionAnswerSchemaReference = questionAnswerDetails.Name;
     var properties = questionAnswerDetails.Value.First;

     //This only gets Janet
     var key = properties.First;
     var value = properties.Last;                                      
}

所以目前我只能找到 Janet,但我也想要名字字段。然后我想把它添加到字典中,即

Dictionary<string, string> details = new Dictionary<string, string>();
//suedo
foreach(var item in questionAnswerObjects)
details.Add(firstName, Janet);
//And then any other things found below this

这是获取数组中对象中每个项目的键和值的完整代码:

string key = null;
string value = null;

foreach(var item in inner)
{
    JProperty questionAnswerDetails = item.First.Value<JProperty>();

    var questionAnswerSchemaReference = questionAnswerDetails.Name;

    var propertyList = (JObject)item[questionAnswerSchemaReference];

    questionDetails = new Dictionary<string, object>();

    foreach (var property in propertyList)
    {
         key = property.Key;
         value = property.Value.ToString();
    }

    questionDetails.Add(key, value);               
}

我现在可以将键和值添加到字典中

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Json.Net C# 获取 json 对象中的值和键 的相关文章

  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • C# 中的协变和逆变

    首先我要说的是 我是一名正在学习 C 编程的 Java 开发人员 因此 我会将我所知道的与我正在学习的进行比较 我已经使用 C 泛型几个小时了 我已经能够在 C 中重现我在 Java 中知道的相同内容 除了几个使用协变和逆变的示例 我正在读
  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • 在 GCC 和 Clang 下,使用 lambda 的简单 RAII 包装器的复制初始化意外失败

    我在创建一个简单的 RAII 包装器时遇到了一个意想不到的问题 更不用说下面代码的逻辑不完整性了 复制构造函数和赋值运算符未删除等 这意味着是一个SSCCE 令我印象深刻的是复制初始化我的包装器与临时 lambda 的结果会导致编译错误 而
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • 将 C# 反射代码移植到 Metro-Ui

    我正在尝试移植使用反射的现有 C 类 通用工厂 但我无法编译这段代码 Type types Assembly GetAssembly typeof TProduct GetTypes foreach Type type in types i
  • 使用 openssl 检查服务器安全协议

    我有一个框架应用程序 它根据使用方式连接到不同的服务器 对于 https 连接 使用 openssl 我的问题是 我需要知道我连接的服务器是否使用 SSL 还是 TLS 以便我可以创建正确的 SSL 上下文 目前 如果我使用错误的上下文尝试
  • 导出到 CSV 时 Gridview 出现空行

    这个问题是由进一步讨论引发的这个问题 https stackoverflow com questions 6674555 export gridview data into csv file 6674589 noredirect 1 com
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 有没有更好的方法来获取每个项目与谓词匹配的子序列?

    假设我有一个 IEnumerable 例如 2 1 42 0 9 6 5 3 8 我需要获得与谓词匹配的项目的 运行 例如 如果我的谓词是 bool isSmallerThanSix int number 我想得到以下输出 2 1 0 5
  • C++ 标准中短语“构造函数没有名称”的含义

    在尝试理解 C 标准中的 构造函数没有名称 这句话时 我似乎在 clang 中发现了一个错误 有人可以证实这一点吗 VS2015 and gcc rejects this code and I think they it are is co
  • 将 bignum 类型结构转换为人类可读字符串的有效方法是什么?

    我有一点问题 为了增长我的 C 知识 我决定尝试实现一个基本的 bigint 库 bigint 结构的核心将是一个 32 位整数数组 选择它们是因为它们适合寄存器 这将允许我在数字之间进行操作 这些操作将在 64 位整数中溢出 这也将适合寄
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • 是否有任何不使用公共虚拟方法的正当理由? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何不使用公共虚拟方法的正当理由 我在某处读到我们应该避免使用公共虚拟方法 但我想向专家确认这是否是有效的声明 对于良好且稳定的 API
  • 如何强制执行特定的 UserControl 设计

    我正在编写一个基本用户控件 它将由一堆其他用户控件继承 我需要对所有这些后代控件强制执行某种设计 例如 顶部必须有几个按钮以及一个或两个标签 后代用户控件区域的其余部分可以自由放置任何内容 最初 我认为我可以将一个面板放到 Base Use
  • 在何处将 CFLAG(例如 -std=gnu99)添加到 (Eclipse CDT) 自动工具项目中

    我有一个简单的 Autotools C 项目 不是 C 其框架是由 Eclipse CDT Juno 为我创建的 CFLAG 通过检查 似乎是 g O2 我希望所有生成的 make 文件也具有 std gnu99附加到 CFLAG 因为我使
  • 如何从函数返回矩阵(二维数组)? (C)

    我创建了一个生成宾果板的函数 我想返回宾果板 正如我没想到的那样 它不起作用 这是函数 int generateBoard int board N M i j fillNum Boolean exists True initilize se

随机推荐

  • JFreechart 中漂亮的饼图

    是否有可能在 JFreechart 中为饼图获得复杂 漂亮的颜色 我的意思是我怎样才能获得如图所示的颜色link http upload wikimedia org wikipedia commons b bf Ml wiki photo
  • SVG 错误:访问属性“someFunction”的权限被拒绝

    请看一下这个小提琴 http jsfiddle net arasbm Tyxea 14 http jsfiddle net arasbm Tyxea 14 正如你所看到的 我想在 SVG 元素上触发事件时对其进行转换 您可以单击箭头 它应该
  • 复制二进制文件的内容

    我正在设计一个图像解码器 作为第一步 我尝试复制使用 c 即打开文件 并将其内容写入新文件 下面是我使用的代码 while c getc fp EOF fprintf fp1 c c 其中 fp 是源文件 fp1 是目标文件 程序执行时没有
  • 字母数字和 + 字符的正则表达式

    我需要一个仅允许字母数字加上 和 字符的正则表达式 现在我正在使用 w 以下模式将匹配仅包含字母 数字 或 的字符串 包括 或 等国际字符 并且不包括 中包含的 字符 w p L p N 例子 string pattern p L p N
  • Azure AD 的访问令牌颁发者是 sts.windows.net 而不是 login.microsoftonline.com

    我正在尝试验证从 azure Active Directory 获取的访问令牌 我从以下位置获得了令牌https login microsoftonline com my tennant guid v2 0 返回的令牌中的发行者是https
  • 应用程序引擎 + 模块 + Maven 的开发工作流程

    我们最近将我们的应用程序引擎项目按照以下结构转换为模块 这个新的开发工作流程的问题是 我们必须在每次更改时重建 EAR 并重新启动应用程序引擎本地开发服务器 这使得每次我们更改代码并想要测试它时 我们都会浪费 30 秒到一分钟的时间 com
  • PorterDuffXfermode DST_IN 未按预期工作

    因此 我试图加快我们正在做的一些绘制 使用 alpha 透明度绘制弧的一部分 并尝试将整个弧缓存到单独的位图中 并使用 alpha 遮罩有选择地显示它 根据我所做的研究 Android 的 Xfermodes API 演示 这个例子 htt
  • Swagger UI 将身份验证令牌传递给标头中的 API 调用

    我是 Swagger 的新手 我正在使用 Swagger UI 生成 swagger 文档 我有两个 API 调用 第一个调用是根据用户名和密码生成令牌 第二次调用需要第一次调用生成的令牌 如何使用 Swagger UI 设置第二次调用的令
  • 如何创建 AvalonEdit 语法文件 (.xshd) 并将其嵌入到我的程序集中?

    我正在尝试为 AvalonEdit 定义一些自定义突出显示规则 似乎没有任何相关文档 有有关文件格式的一些文档 http www codeproject com KB edit AvalonEdit aspx 但没有介绍创建定义后如何实际加
  • 创建增量按钮,如果边距大于 2800 像素,该按钮将关闭

    我正在制作一个滑块 并且正在尝试弄清楚如何专门对按钮进行编程 我希望它在单击时以 700 像素的增量向左移动 但是一旦 marginLeft 大于 2800 像素 因为单击时它不会执行任何操作 现在我有以增量移动容器的部分 但我不确定如何制
  • pyspark - 合并 2 列集合

    我有一个 Spark 数据框 它有 2 列由函数collect set 形成 我想将这两列集合合并为一列集合 我应该怎样做呢 它们都是一组字符串 例如 我有两列是通过调用collect set形成的 Fruits Meat Apple Or
  • 如何用正确的行数填充表格以适应不同屏幕分辨率下的页面高度?

    我在前端开发了自己的网络管理 这是一个典型的 Admin 其中包含容器 左侧的一个菜单导航和右侧的正文内容 其中显示与单击的菜单项相关的结果 通常是表格 为了以 100 适合正文页面 获得表格中正确的行数或行数的最佳方法是什么 就我而言 我
  • 如何使用 Azure DevOps REST API 更新文件?

    我正在尝试更新test json文件托管在 Azure DevOps Repo 上 我正在使用逻辑应用程序 无法从文档中识别操作顺序 我想我需要 向以下地址发出 GET HTTP 请求Items端点 https learn microsof
  • PhpStorm 终端:Cygwin 颜色不起作用

    我有 PhpStorm 2016 2 并在 Shell 路径中添加了 Cygwin 如下所示 C cygwin64 bin env exe CHERE INVOKING 1 bin bash exe 它运行良好 但颜色不起作用 例如我有 3
  • EntityNotFoundException:Bean 已被删除 - 延迟加载失败

    我正在迈出 Play 的第一步 使用 Java 的框架 v2 1 rc1 现在我遇到了 ebean 的第一个问题 我有一个与其自身具有多对一关系的导航实体 当我尝试访问parentNavigation中的标题字段时 我收到以下错误 Enti
  • 通过 SSH 连接到位于 VPC 私有子网中的 AWS EC2 实例

    我已经研究这个问题几个小时了 也许这是不可能的 也许是不可能的 我在 AWS 中有一个 VPC 带有几个 EC2 实例和 Lambda 实例 截至目前 lambda 可以毫无问题地调用 ssh 等连接 EC2 服务器 我的 lambda 在
  • 自动初始化 Typescript 中字符串文字类型的成员字段

    如果我有课的话 class Foo type foo constructor public id number class Bar type bar constructor public id number type SomeUnion F
  • Java:JVM 可用的内核?

    Java中有这样的方法Runtime getRuntime availableProcessors 其中有以下 Javadoc 返回 Java 虚拟机可用的处理器数量 该值可能会在虚拟机的特定调用期间发生变化 价值实际上如何改变 例如 在什
  • Grails 将请求参数绑定到枚举

    我的 Grails 应用程序有大量的枚举 如下所示 public enum Rating BEST be GOOD go AVERAGE av BAD ba WORST wo final String id private RateType
  • 使用 Json.Net C# 获取 json 对象中的值和键

    你好 我的 json 看起来像这样 Id 357342524563456678 title Person language eng questionAnswer 4534538254745646 1 firstName Janet ques