使用匿名对象输出带有破折号的 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 属性名称 的相关文章

  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 枚举扩展方法

    在vs2008中 是否可以编写适用于任何枚举的扩展方法 我知道您可以针对特定枚举编写扩展方法 但我希望能够使用单个扩展方法对每个枚举进行处理 这可能吗 是的 只需针对基础进行编码Enum类型 例如 public static void So
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 使用 Jade 评估自定义 javascript 方法 (CircularJSON)

    我想通过 Jade 将一个对象解析为客户端 JavaScript 通常这会起作用 script var object JSON parse JSON stringify object but my object is circular ht
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 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
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 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