使用匿名对象输出带有破折号的 JSON 属性名称

2024-02-24

我正在使用第三方 API,如下所示。它用Json serializer输出

public Output(string name, object value);

我必须将以下 json 字符串放入 C# 的输出文件中

Output("somename", new {my-name : "somevalue"})

问题是 C# 不允许使用破折号 (-) 的标识符。我该如何实现这一目标?

尝试将原始值如下所示,但它增加了back slash (\)到文件输出,进展不太顺利。

Output("somename", @"{""my-name"":""somevalue""}")

有什么想法吗 ?


由于您使用的是匿名对象,最简单的解决方法是创建一个Dictionary<string, string>反而:

Output("somename", new Dictionary<string, string> { { "my-name", "somevalue" } });

许多 .Net JSON 序列化程序都支持将字典序列化为 JSON 对象,其中字典键映射到 JSON 属性名称,包括json.net /questions/tagged/json.net and javascript序列化器 /questions/tagged/javascriptserializer乃至数据契约json序列化器 /questions/tagged/datacontractjsonserializer when UseSimpleDictionaryFormat = true https://learn.microsoft.com/en-us/dotnet/api/system.runtime.serialization.json.datacontractjsonserializersettings.usesimpledictionaryformat?view=netframework-4.7.2#System_Runtime_Serialization_Json_DataContractJsonSerializerSettings_UseSimpleDictionaryFormat如前所述here https://stackoverflow.com/q/4559991/3744182.

如果您有不同类型的值,并且使用在序列化过程中支持任意多态性的序列化程序(Json.NET 和JavaScriptSerializer做)你可以使用Dictionary<string, object>:

Output("somename",
    new Dictionary<string, object>
    {
        { "my-name", "somevalue" },
        { "my-id", 101 },
        { "my-value", value },
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用匿名对象输出带有破折号的 JSON 属性名称 的相关文章

  • 在异步请求中使用超时回调

    我之前问过这个问题 但我将用提出的解决方案来完成这个问题 并提出另一个问题 我正在使用这个类来进行异步网络请求 http msdn microsoft com en us library system net webrequest aspx
  • std::bind2nd 和 std::bind 与二维数组和结构数组

    我知道 C 有 lambda 并且 std bind1st std bind2nd 和 std bind 已弃用 然而 从C 的基础开始 我们可以更好地理解新特性 所以 我从这个非常简单的代码开始 使用int 数组s 第一个例子 与std
  • 如何检查号码是否只有唯一的数字?

    例如 2345 是唯一的数字 因为没有数字显示两次 但 3324 不是唯一的数字 因为 3 出现了两次 我尝试使用 但我 代码 显示但我没有得到数字我得到了数字 编辑 你不能使用字符串 number 10 number 100 number
  • ASMX Web 服务,测试表单仅在本地计算机上适用于一种 WebMethod

    我有一个正在测试的 ASMX WebService 并且在大多数方法上我都可以使用测试表单进行测试 然而 我确实有一种方法 测试表上写着 The test form is only available for requests from t
  • 如何在 ASP.NET Core 6.0 Web API 项目中启用 cors?

    在我的 ASP NET Core 6 0 Web API 项目中配置了 CORS 但预检请求收到 http 405 错误 换句话说 不允许使用 HTTP OPTION 看起来 cors 没有启用 我见过的例子config EnableCor
  • AcceptSocket 超时?

    是否有可能AcceptSocket on a TcpListener具有超时的对象 以便它偶尔被中断 TcpListener server new TcpListener localIP port server Start while sh
  • 多个线程访问一个变量

    我在正在读的一本教科书中发现了这个问题 下面也给出了解决方案 我无法理解最小值怎么可能是 2 为什么一个线程不能读取 0 而所有其他线程都执行并写入 1 而无论是1还是2 最后写入的线程仍然必须完成自己的循环 int n 0 int mai
  • 确定相关词的编程方式?

    使用网络服务或软件库 我希望能够识别与词根相关的单词 例如 座位 和 安全带 共享词根 座位 但 西雅图 不会被视为匹配 简单的字符串比较对于这类事情似乎是不可行的 除了定义我自己的字典之外 是否有任何库或 Web 服务不仅可以返回单词定义
  • 文件加密与解密问题

    我一直在尝试在 VC Express 2010 中加密和解密文件 我见过的所有教程和文档都需要两个FileStreams 来加密文件 一个用于读取未加密的版本 另一个用于加密 当我实际编写代码时 它不断抛出错误 告诉我它无法打开该文件 因为
  • 如何解决文件被另一个进程使用的问题?

    我一直在 VS NET 2010 中调试 没有任何问题 但现在无法建造 我收到错误 Unable to copy file filename to bin Debug filename The process cannot access t
  • List 或其他类型上的 string.Join

    我想将整数数组或列表转换为逗号分隔的字符串 如下所示 string myFunction List
  • Code::Blocks 中的调试似乎不起作用 - 缺少调试符号

    我正在尝试在 Code Blocks 中调试程序 我跟着本指南 http wiki codeblocks org index php title Debugging with Code Blocks and 这个短视频 http www y
  • 文本框中“结束编辑”的事件

    我正在 winform c 中使用文本框 并使用文本在数据库中进行查询 但每次文本更改时 我都需要不断查阅文本框的文本 因此 对于这些 我使用 KeyUp 但这个活动太慢了 文本框编辑完成后是否会触发任何事件 我考虑完成2个条件 控制失去焦
  • XCode std::thread C++

    对于学校的一个小项目 我需要创建一个简单的客户端 服务器结构 它将在路由器上运行 使用 openWRT 并且我试图在这个应用程序中使用线程做一些事情 我的 C 技能非常有限 所以我在internet https stackoverflow
  • 模板定义中的友元函数

    我的问题有点相关this https stackoverflow com questions 1297609 overloading friend operator for template class one 我想重载某些类的运算符 te
  • 检查另一种形式的线程是否仍在运行

    我有一个涉及两个窗体的 Windows 窗体应用程序 子表单用于将数据导出到 CSV 文件 并使用后台工作者写入文件 当这种情况发生时 我隐藏了表格 当后台工作程序运行时 父窗体仍然处于活动状态 因此即使后台工作程序正在写入文件 用户也可以
  • 使用 apachesoap:使用 .net 在 Web 服务中映射复杂数据类型

    我有一个用 Coldfusion 编程的 Web 服务 我试图使用 c net 来使用它 特定的 Web 服务返回一个 Coldfusion 结构 具有键和值的项目的集合 该结构由 Web 服务公开为 apachesoap Map 类型的复
  • boost::spirit::qi::语法和可变参数模板

    我在使用可变参数模板定义语法时面临一个问题 我首先定义一些包含在某些结构中的简单语法 例如纬度 经度 如下所示 include
  • 是否可以检测流是否已被客户端关闭?

    简要介绍一下情况 我有一项服务可以通过套接字接收信息并发送回复 连接不安全 我想设置另一个可以为这些连接提供 TLS 的服务 这个新服务将提供单个端口并根据提供的客户端证书分发连接 我不想使用 stunnel 有几个原因 其中之一是每个接收
  • 如何创建实体集或模型而不在数据库中创建相应的表 - 实体框架

    我的 sqlserver 数据库中有一个存储过程 它返回多个结果集 我正在使用 msdn 中的以下链接从实体框架中的 SP 读取多个结果集 https msdn microsoft com en us library jj691402 v

随机推荐

  • Kotlin 类初始化语义是什么?

    我在语言定义中找不到任何解释 Kotlin 类初始化的内容 import java util Properties fun main args Array
  • 在 Mac OS X 上,如何获得 System/LibC 的调试版本以进行源代码级调试?

    我从 opensource apple com 下载了 LibC 源代码 但由于它是一个整体库 usr lib libSystem B dylib 的一部分 我是否必须以某种方式重建整个库 我有一个从 Linux 移植的 BSD 命令行程序
  • 向 parcoord 添加刻度(平行坐标图)

    这 MASS 包中的 parcoord 函数看起来不错 但是我如何添加刻度 四个y轴 代码在这里 ir lt rbind iris3 1 iris3 2 iris3 3 parcoord log ir c 3 4 2 1 col 1 0 1
  • 将 ImageView 对齐到布局 android 的右侧

    我有一个布局
  • 如何在 Rust 中彻底打破 tokio-core 事件循环和 futures::Stream

    我正在涉足 tokio core 并且可以弄清楚如何生成事件循环 然而 有两件事我不确定 如何优雅地退出事件循环以及如何退出事件循环内运行的流 例如 考虑这段简单的代码 它在事件循环中生成两个侦听器 并等待另一个线程指示退出条件 exter
  • Windows Powershell 有时不输出任何值(温度传感器)

    有时会出现没有显示温度传感器的情况 我使用 Powershell 来读取这些值 这经常有效 我想知道为什么 Windows 有时不返回任何内容 是在我的笔记本电脑 软件还是其他什么上吗 powershell Get WmiObject Cl
  • React 远程控制台日志记录

    我使用 Mongo 设置了 Express 服务器 以便在使用 React 对 Electron 应用程序进行调试测试期间记录控制台日志 我只是使用 ajax 发送通常使用 console log 打印的内容 这对于我想要记录的单个事件效果
  • 我应该调用什么 API 来获取系统正常运行时间?

    我想从基于 Linux 的系统上运行的 C 应用程序中获取系统正常运行时间 我不想调用 uptime 1 并解析输出 我想调用我怀疑存在的底层 C API 有人知道是否有这样的调用 或者 uptime 1 是否只是处理从 wtmp 获取的记
  • 为什么删除时会引发 Core Data NSManagedObject 错误?

    我正在尝试有效地批量删除很多NSManagedObjects 不使用NSBatchDeleteRequest 我一直在遵循一般程序这个答案 https stackoverflow com a 12116402 5513562 适用于 Swi
  • 垂直 div 间距

    如何用最少的代码水平分布3个div 我有 3 个具有相同类的 div 我需要水平分布它们 每个 div 之间有 19 像素的空间 目前我的解决方案是为前 2 个 div 提供 19 像素的右边距 并为第三个 div 分配一个单独的类 使其左
  • 将结构与 std140 对齐,CPU 端

    我想这是纯 C 问题和 OpenGL 问题之间的一种交叉 我有一个统一的缓冲区 并在其中分配 sizeof ShaderData 字节的空间 我在着色器的 GPU 端使用 std140 布局 根据 std140 规则 我需要在结构中的各个位
  • 设置从 Eclipse 运行的 Java 程序的内存

    我正在从 Eclipse 运行一个需要大量内存的 Java 应用程序 我可以把放在哪里 Xmms罢工 gt xms flag 您可以为特定运行配置设置 VM 参数 运行 运行配置 参数选项卡 VM 参数 顺便说一句 你可能想尝试 Xms代替
  • Microsoft MPI 不运行

    我正在尝试 Microsoft 的 MPI 实现 我从这里安装了CCP sdk http www microsoft com en us download details aspx id 239 http www microsoft com
  • 使用 Xamarin Forms 共享图像

    我创建了一个 Xamarin Forms PCL 解决方案 目前专注于 Android 项目 我正在尝试使用依赖服务来实现图像共享 图像位于 Android 项目的可绘制文件夹中 但是 每次我运行下面的代码时 应用程序都会崩溃并显示 发生未
  • 嵌套列表理解/合并嵌套列表

    我在理解嵌套列表理解结构时遇到问题 我有一个清单 gt gt gt test 1 2 3 4 5 6 7 8 If I do t2 for x in test for y in x t2 append y 然后它返回 gt gt gt t2
  • 我们可以使用 Yolo 来检测和识别图像中的文本吗

    目前我正在使用一种名为 Yolov2 的深度学习模型进行对象检测 我想用它来提取文本并将其保存在磁盘中 但我不知道该怎么做 如果有人了解更多那个 请告诉我 我使用张量流 Thanks 如果您使用预训练模型 则需要保存这些输出并将图像输入到字
  • 如何删除R中单词之间的空格?

    我一直在尝试消除或替换单词之间的空格 而不影响其他空格 一个例子是 string lt Hi buddy 3 256 225 25 365 425 并希望它是 string lt Hibuddy 3 256 225 25 365 425 我
  • 在 C# 中创建泛型方法

    我正在尝试将一堆类似的方法组合成一个通用方法 我有几种方法可以返回查询字符串的值 如果该查询字符串不存在或格式不正确 则返回 null 如果所有类型本身都可为空 那么这将很容易 但我必须对整数和日期使用可为空的泛型类型 这就是我现在所拥有的
  • 行为测试框架的测试覆盖率工具

    我们正在使用 Behave BDD 工具来自动化 API 是否有任何工具可以使用我们的行为案例提供代码覆盖率 我们尝试使用覆盖模块 但它不适用于 Behave 您可以运行任何具有覆盖范围的模块来查看代码使用情况 在你的情况下应该接近cove
  • 使用匿名对象输出带有破折号的 JSON 属性名称

    我正在使用第三方 API 如下所示 它用Json serializer输出 public Output string name object value 我必须将以下 json 字符串放入 C 的输出文件中 Output somename