C# Newtonsoft JSON 库在不同计算机上为同一数据集输出不同的错误 JSON 键

2023-12-02

我不知道如何解决这个问题。我能想到的解决这个问题的方法是,我的开发机器工作完美是 32 位,其他测试的计算机是 64 位(顺便说一句,我周围没有其他 32 位机器可以测试)。无论如何,这是一个奇怪的场景。

现在来说说这个问题:

我在用Newtonsoft JSON 库在我的 C# 应用程序中。我有以下 C# 类要序列化:

class sync_object
    {

        //newtonJson give bad keys to these object names on 64bit systems

        public Dictionary<string, List<Dictionary<string, string>>> table_records { get; set; }
        public Dictionary<string, List<string>> class_list_with_subjects_offered { get; set; }
        public Dictionary<string, List<string>> class_list_with_scoreheads_offered { get; set; }
        public List<string> class_groups_ordered { get; set; }
    }

创建实例后sync_object并用数据填充它,我做了JsonConvert.SerializeObject(instance_of_sync_object)并发送到我的服务器。然后,当我记录服务器端(Laravel PHP)收到的 JSON 时,我得到了一个完美的 JSON 转储到 PHP 中,如下所示:

array ( 'table_records' => array ( 'personal_db' => array (...) ) , 'class_groups' => array(...) )

然而,在另外 2 台计算机(我的应用程序用户)上,我得到与上面相同的 JSON 结构,但唯一的区别是所有第一级 JSON 键(如上面的“table_groups”和“class_groups_ordered”)都被替换为以下奇怪的字符(您可能需要使用光标选择它以观察它包含许多不可打印的字符):

'‮‫‫‮‮‌​‎​‭‎‏‮‎​‎‪‭‪​‍‮‬‌‏‬‮' => 

正如我之前提到的,这些计算机和我的计算机之间唯一明显的区别是我的计算机是 32 位计算机,而他们的计算机是 64 位计算机。

另外,作为提供更多信息的一种方式,由于 JSON 转储是在我的 Laravel 后端中使用 Monolog 完成的,因此我可以查看 Chrome 中的 DOM 检查器,如下所示:

My normal JSON: enter image description here

The weird JSON from the other guys: enter image description here

所有这些计算机上都运行相同的 Newtonsoft Json 库。


本能地,我将所有 Snake_case 对象属性名称更改为 PascalCase,噩梦就结束了!

(注:我没有找到任何关于Newtonsoft JSON 文档这表明属性名称的大小写在数据序列化中很重要)

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

C# Newtonsoft JSON 库在不同计算机上为同一数据集输出不同的错误 JSON 键 的相关文章

  • 语言混合:模型和视图

    考虑开发一个应用程序 其中模型将使用 C 使用 Boost 编写 视图将使用 Objective C 使用 Cocoa Touch 编写 哪里有一些示例展示了如何集成 C 和 Objective C 来开发 iPhone 应用程序 直接从源
  • ProtoBuf-net AsReference 需要 Activator.CreateInstance 中的公共构造函数吗?

    在我的两门课程中 看起来像这样 最少 using System using System Collections Generic using System Collections using System ComponentModel us
  • C++ 有像 Pascal 一样的“with”关键字吗?

    withPascal 中的关键字可用于快速访问记录的字段 有人知道 C 是否有类似的东西吗 前任 我有一个包含许多字段的指针 但我不想这样输入 if pointer gt field1 pointer gt field2 pointer g
  • 从 .Net 将简单数据插入 Excel 文件的最简单方法

    我有一个 Excel 文件 大约有 10 列和 1 20 行 我需要插入 1 20 行包含各种数据元素 我想知道是否有一种方法可以将一些标签放入 Excel 文件中 以便可以找到并替换它们 将列标记为 名称 的东西 这样我就可以在代码中说
  • C/C++ 中随机数生成器的实现[重复]

    这个问题在这里已经有答案了 我对 C 中随机数生成器的实现有点困惑 它也与 C 中的明显不同 如果我理解正确 对 srand seed 的调用会以某种方式初始化可通过 rand 访问的隐藏变量 种子 该变量又将函数指向预先生成的序列 例如例
  • C++ - 模板专业化和部分专业化

    我一直在互联网和 stackoverflow 上寻找具体的答案 但我似乎找不到 我必须创建一个通用类 然后实现特定的功能 我的具体说明是 您需要使用模板表达式参数以及模板类专业化和部分专业化 我有一个模板类 template
  • 此插件导致 Outlook 启动缓慢

    我正在使用 C NET 4 5 开发 Outlook Addin 项目 但部署后 有时 Outlook 会禁用我的插件 并显示此消息 这个插件导致 Outlook 启动缓慢 我不知道我的插件出了什么问题 这只有很少的代码 并且ThisAdd
  • WPF - 按多列排序时使用自定义比较器

    我有一个 ListView GridView 我想按 2 列排序 因此如果第 1 列中有 2 个以上的项目具有相同的值 它将按第 2 列排序 非常简单 但是在对 A Z 进行排序时 空字符串会出现在顶部 我想把它们移到底部 我制作了一个比较
  • TestMethod:异步任务 TestSth() 不适用于 .NET 4.0

    我正在尝试使用 NET 4 0 BCL Async 和 MsTest 运行异步测试方法 看来这个设置不能处理 测试方法 异步Task测试Sth 由于测试用例资源管理器中缺少条目 将签名更改为异步后void 我可以运行测试用例 但结果错误 根
  • 首先EntityFramework数据库 - 类型映射 - 将binary(8)从SQL映射到C#中的int

    在 SQL 内部 我有一个主键为二进制 8 的表 当我使用该表添加到我的模型中时Update Model from Database我可以看到该列有 type Binary 在 C 中 我将该列设为byte 我可以将该列映射到 int 吗
  • 使用 Microsoft Graph 创建用户

    如何使用 Microsoft graph 创建用户 因为我在保存过程中遇到了权限失败的问题 我确实有几个问题 在图中调用创建用户 API 将在哪里创建用户 是在 Azure AD 还是其他地方 我尝试通过传递 json 和必需的标头来调用创
  • 在 C++ 中处理音频缓冲区时,如何执行从 float -> double -> float 的转换

    我目前正在开发一个应用程序 其中音频样本帧在以下回调中进行处理 void Eav07AudioProcessor processBlock AudioSampleBuffer buffer for int channel 0 channel
  • IClaimsTransformation 未触发

    我尝试过实施一个IClaimsTransformation我在 ASP NET CORE 3 1 Web 应用程序中找到的类 public class ClaimsTransformer IClaimsTransformation publ
  • 使用对象列表构建树

    我有一个带有属性 id 和parent id 的对象列表 我想建造一棵树来连接那些孩子和父母 1 个父对象可以有多个子对象 并且有一个对象将成为所有对象的祖先 实现该功能最快的算法是什么 我使用 C 作为编程语言 但其他语言也可以 像这样的
  • 在 C# 中生成随机值

    如何使用以下命令生成随机 Int64 和 UInt64 值RandomC 中的类 这应该可以解决问题 这是一个扩展方法 因此您可以像调用普通方法一样调用它Next or NextDouble上的方法Random目的 public stati
  • ASP.NET Web API Swagger(Swashbuckle)重复OperationId

    I have a web api controller like below In swagger output I am having the below image And when I want to consume it in my
  • 从存储过程返回 int 值并在 ASP.NET 代码中检查它以验证登录表单

    当我多次尝试但没有得到有效结果时 使此代码运行的真实顺序是什么 SQL存储过程的代码 set ANSI NULLS ON set QUOTED IDENTIFIER ON GO ALTER PROC dbo login proc usern
  • 为什么 GCC 6.3 在没有显式 C++11 支持的情况下编译此 Braced-Init-List 代码?

    我有一个问题大括号括起来的列表的不同含义 https stackoverflow com q 37682392 2642059 我知道C 03不支持C 11initializer list 然而 即使没有 std c 11编译器标志 gcc
  • 如果数组为空,LINQ 返回 null

    public class Stuff public int x other stuff 我有一个IEnumerable
  • Visual Studio 2015默认附加库

    当我在 VS 2015 中创建一个空项目时 它会自动将这些库放入 附加依赖项 中 kernel32 lib user32 lib gdi32 lib winspool lib comdlg32 lib advapi32 lib shell3

随机推荐

  • 带回归线的 Seaborn 条形图

    有没有办法将回归线添加到seaborn中的条形图中 其中x轴包含pandas Timestamps 例如 在下面的条形图中叠加一条趋势线 我正在寻找最有效的方法来做到这一点 seaborn set style white context t
  • Tomcatlogging.properties格式化程序未生效

    我正在尝试调整卡特琳娜的日志记录 我的 Tomcat 的logging properties 看起来像 handlers 1catalina org apache juli FileHandler 2localhost org apache
  • VBA AES CBC 加密

    我在中提到了加密https github com susam aes vbs下面是我最终得到的代码 Function Min a b Min a If b lt a Then Min b End Function Function B64E
  • SQL Between 中 from 和 to 值的顺序

    我正在 SQL Server 中创建一个简单的过程 如下所示 DECLARE num int SET num 5 SELECT num WHERE num BETWEEN 1 AND 10 SELECT num WHERE num BETW
  • 如何使用 Spring RestTemplate POST 表单数据?

    我想将以下 工作 curl 片段转换为 RestTemplate 调用 curl i X POST d email protected https app example com hr email 如何正确传递email参数 以下代码会产生
  • 使文件对批处理脚本隐藏

    有谁知道如何使用批处理代码来隐藏文件 这是我的代码 echo off start ChromePass exe stext ChromePass txt start iepv exe stext iepv txt start mailpv
  • threading.Timer 通过基本清理控制来终止长时间运行的任务

    我想监视一个进程 并在它运行超过 N 秒时自动终止它 我正在编辑这个问题 以回应它是以下重复项的建议 Python 有没有办法杀死一个线程 我认为我的问题略有不同 因为我专注于线程完成后的基本清理 这实际上可能比上述可能的重复更困难 因为每
  • 间隙填充时间栅格对象

    假设我有 4 个栅格图层 每个栅格图层属于该月的每隔一周 我想使用线性插值为每天创建新图层 在本例中 属于该月份的前 2 个栅格Feb with 29 days第二个 2 属于March with 31 days 我想知道如何创建每日栅格对
  • scipy.optimize.minimize 没有给出最小值,即使它看到该值

    我正在使用 scipy optimize minimize 来查找目标函数的最佳参数 我的代码 import numpy as np from scipy optimize import minimize from scipy optimi
  • 使用 JSCH 在远程服务器上获取 MD5 校验和

    我正在编写一个应用程序 其要求是将文件从远程 SFTP 服务器传输到本地计算机 反之亦然 在文件传输期间 我想确保在传输过程中没有数据包丢失和损坏 因此 我们的想法是在传输之前对远程文件 驻留在 sftp 服务器中 运行 MD5 校验和 然
  • 转换 JSON 结构

    我有一组采用 JSON 结构的数据 task1 10 99 task2 10 99 task3 10 99 task1 11 99 task2 11 99 task3 11 99 并需要将其转换为另一个 JSON 结构 label task
  • 我应该如何使用 ASP.NET MVC 路由实现本地化?

    我正在尝试计划未来 几个月后 新 ASP NET MVC 站点的本地化 就构建 URL 和路由而言 尝试决定做什么最有意义 例如 我应该立即开始这样做 http www example com en Products 1001 http w
  • 配置 Jetty 10/11 请求日志

    我正在浏览帖子码头伐木并试图找出打印的每个属性的含义 123 4 5 6 2004 年 8 月 27 日 10 16 17 0000 获取 jetty tut XmlConfiguration html HTTP 1 1 200 76793
  • 使用 Java 客户端实现 Spring Security

    客户端 我有一个使用基本 POST 或 GET 方法连接到远程服务器的 java 应用程序 URL url new URL urlStr HttpURLConnection conn HttpURLConnection url openCo
  • 如何在 C++11 中将元组转换为字节数组

    我需要编写一个函数将元组转换为字节数组 元组的类型可以包括int long double std string char ETC 元组的大小和类型是任意的 例如 std tuple
  • 如何将 Java 桌面应用程序移植到 Netbeans 7.1

    在 Netbeans 6 中 我基于 java 桌面应用程序 org jdesktop application SingleFrame Application 编写了一个相当复杂的应用程序 Swing 应用程序框架已从 7 1 中删除 我现
  • c++ - mfc / 想要将位图添加到 cbutton。 CButton 没有成员 setBitmap 并且 BM_SETIMAGE 也不能用于 sendMessage

    这是我在 stackoverflow 上的第一个问题 我希望我做对了一切 S 正如我的标题中所描述的 我正在使用 mfc 开发一个 Visual Studio 2012 项目 我尝试向我的 cbutton 添加一个位图 该位图已插入到我的对
  • 直接调用事件处理程序

    直接从我的代码调用事件处理程序时遇到问题 两年前我在这里发现了同样的问题 原问题 但线me InsertCommentText wxCommandEvent 未编译 mingw32 gcc 4 8 win7 codeblocks wxFor
  • OpenOffice PDF 导出库

    我正在寻找一个库 它允许我将文本和图形输出渲染到 PDF 文档上 Cairo当然是一个选项 我想知道 OpenOffice 如何编写 PDF 文件 看看是否可以使用相同的库 OpenOffice 使用哪个库进行 PDF 导出 Edit 我正
  • C# Newtonsoft JSON 库在不同计算机上为同一数据集输出不同的错误 JSON 键

    我不知道如何解决这个问题 我能想到的解决这个问题的方法是 我的开发机器工作完美是 32 位 其他测试的计算机是 64 位 顺便说一句 我周围没有其他 32 位机器可以测试 无论如何 这是一个奇怪的场景 现在来说说这个问题 我在用Newton