禁用对读取(无效 JSON)单引号字符串的支持

2023-11-27

Newtonsoft.Json for C# 支持读取类似内容{'key':'value'}但这是不正确的 JSON。是否可以禁用它,以便它更像 PHP 一样解析和读取(其中 PHP 不支持 {'key':'value'} 但 {"key":"value"})


你可以自己写JsonReader子类来执行此操作,但是JsonTextReader类(据我所知,这是最常用的)不支持这一点。来自ParseValue方法,例如:

case '"':
case '\'':
    ParseString(currentChar, ReadType.Read);
    return true;

我有一个严格的 JSON 分词器在 Google.Protobuf 中 - 它是内部的,但应该让您知道自己编写这样的分词器并不是非常棘手。当然,如果您真的想使用 Json.NET 除了严格性之外,这对您没有帮助。

您可能想阅读并可能投票/评论第 646 期在 Json.NET 存储库中,我也请求了“严格模式”。 (那里也有一个建议的替代方法 - 尽管感觉有点像黑客。)

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

禁用对读取(无效 JSON)单引号字符串的支持 的相关文章

  • 使用 std::packaged_task/std::exception_ptr 时,线程清理程序报告数据争用

    我遇到了线程清理程序 TSan 的一些问题 抱怨某些生产代码中的数据争用 其中 std packaged task 通过将它们包装在 std function 中而移交给调度程序线程 对于这个问题 我简化了它在生产中的作用 同时触发 TSa
  • 在 C++ 中使用 matlab 结构(matlab 函数调用的返回值)(由 matlab 编译器生成的库)

    你好 我有一个相当简单的 matlab 函数 例如 function MYSTRUCT myfunc MYSTRUCT prop1 test MYSTRUCT prop2 foo MYSTRUCT prop3 42 end 我用 matla
  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 如何将 protobuf-net 与不可变值类型一起使用?

    假设我有一个像这样的不可变值类型 Serializable DataContract public struct MyValueType ISerializable private readonly int x private readon
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com

随机推荐

  • 使用 Box2D 模拟“牛顿万有引力定律”

    我想模拟牛顿万有引力定律使用 Box2D 我浏览了手册 但找不到执行此操作的方法 基本上我想做的是将几个物体放置在太空中 零重力 并模拟运动 有小费吗 实现起来非常容易 for int i 0 i lt numBodies i b2Body
  • 当 git tfs 无法创建合并提交时,如何纠正它

    当 git tfs 无法创建合并提交时 它说warning this changeset 7504 is a merge changeset But it can t have been managed accordingly becaus
  • QT版本未正确安装,请运行make install

    我从下载的副本安装了 QT creatorqt creator linux x86 opensource 2 6 1 bin using sudo qt creator linux x86 opensource 2 6 1 bin 在Ubu
  • jQuery 更改所有子项的 id 属性

    我需要一些帮助来弄清楚如何编写一些 jQuery 代码 我需要动态克隆一个表 onclick 但随后我每次都需要更改表及其子元素的 id 由于该表可能有很多子项 因此手动执行此操作会很困难 我需要一种方法来更改所有子 所有后代 元素的 id
  • 如何在MySQL中从DATETIME中分离DATE和TIME?

    我正在存储一个DATETIME表中的字段 每个值看起来都像这样 2012 09 09 06 57 12 我正在使用这个语法 date Y m d H i s 现在我的问题是 在获取数据时 如何同时获取日期和时间分别地 使用单个 MySQL
  • 使用 JavaScript 打印多个 PDF 文件

    我想知道如何通过一次打印点击打印多个 PDF 文件 我可以轻松打印单个 PDF 文件 但当文件较多时我不知道如何打印 提前致谢 您可以致电print 在代码中多次出现 导致文件被一个接一个地打印 function PrintAll var
  • 为什么像“volatile int * p”这样的指向易失性的指针有用?

    volatile就是告诉编译器不要优化引用 这样每次读 写都不会使用寄存器中存储的值 而是进行真正的内存访问 我可以理解它对于某些普通变量很有用 但不明白如何volatile影响指针 volatile int p some addr int
  • 如何将 Bullet 物理应用于绘制的 Opengl 3d 形状

    我只是想知道是否有一种方法可以将子弹物理应用于 opengl 绘制的对象 使用 glVertex3f 或带有 glVertexAttribPointer 的三角形网格创建 我目前正在使用 jogl 和 jbullet 将物理应用到我的 3D
  • 尝试播放声音时出现“play() 失败,因为用户没有先与文档交互”错误 (javascript/html)

    我正在尝试使用 javascript 在网页上播放声音 但每当我这样做时 我都会收到上述错误 这是我的代码 if thing startsWith 0 var a new Audio audio mp4 a play 此外 如果您打开控制台
  • 如何设置 Elastic beanstalk Windows 应用程序的文件夹权限?

    我目前正在构建一个 C WebApi 2 应用程序 我将其上传到 Amazon Elastic Beanstalk 实例进行部署 到目前为止 我取得了成功 并且在我的本地计算机上 我刚刚完成了文件上传功能的测试 以便客户端上传图像 它的方式
  • 在 VirtualBox 来宾中运行 perf

    我的教授要求我跑步 perf stat e mem loads mem stores test 为了让我找到 C 文件的内存加载和存储 我在 VirtualBox Linux 来宾中执行此操作 问题是perf说这是无效或不受支持的事件 任何
  • 在 Clion 中启用 Cuda 代码索引

    我正在使用 Clion 开发 cuda 程序 当扩展名是 h 时 代码突出显示可以正常工作 但是 当它更改为 cuh 时 Clion 仅将新文件视为纯文本文件 并且我无法启用代码突出显示 我知道完整的 Cuda 工具链是不可能的 所以我不希
  • 为 Outlook 2007 构建表单

    我刚刚了解到 Outlook 表单的概念 我不知道这是否能解决我的问题 但这就是我想做的 我希望能够让公司内部的员工填写一些表格 那么我所要做的就是创建表单并将其推送到他们的 Outlook 中 他们填写表格后 我可以以某种方式捕获数据吗
  • WebAPI OData $格式转换为xml

    对于我的 WebAPI OData 应用程序 我试图让我的客户端 浏览器 决定数据输出应该采用什么格式 作为 format尚未在 WebAPI OData 中实现 我在这里使用 Raghuramn 的示例 https gist github
  • React + Typescript:如何输入 event.target.name 来声明?

    我有一些反应状态被定义为一个接口并且有专门命名的键 我尝试了下面的解决方案 该解决方案在技术上应该基于状态键工作 但它仍然给我错误 x string string provides no match for the signature 做这
  • 有没有一种简单的方法可以使用 Microsoft Web Optimization 框架/脚本捆绑来呈现绝对 URL?

    我正在尝试使用 Microsoft 的 Web Optimization 框架呈现 JavaScript 包 如下所示 Scripts Render assets bundle js 并构建一个小包 如下所示 public static v
  • Fabric API 密钥无效

    我正在尝试将 Fabric 安装到我的 iOS 应用程序中 我下载了 Fabric 应用程序来安装 Crashlytics 但是当我在应用程序提供的构建阶段添加运行脚本时 在构建项目后出现错误 第 2 行 1 myfirebaseid io
  • 在 PowerShell 代码中测试文件夹是否是连接点?

    如何在 PowerShell 代码中测试文件夹是否是连接点 至少从 PowerShell v5 0 开始 对链接有了更好的支持 或者 MS 称之为 重新分析点 改进的 Item cmdlet LinkType财产 链接的文章位于 WMF 5
  • 如何访问未导出的结构体字段

    Go 1 8 中有没有办法使用 Reflect 来访问未导出的字段 这似乎不再有效 https stackoverflow com a 17982725 555493 注意reflect DeepEqual工作得很好 也就是说 它可以访问未
  • 禁用对读取(无效 JSON)单引号字符串的支持

    Newtonsoft Json for C 支持读取类似内容 key value 但这是不正确的 JSON 是否可以禁用它 以便它更像 PHP 一样解析和读取 其中 PHP 不支持 key value 但 key value 你可以自己写J