c# - Newtonsoft JSON字符串反序列化与\转义字符问题
问题描述
我们有一个这样的序列化 JSON 字符串:
{\\"count\":1,\r\n\"value\":[\r\n{\"HOST\":\"\\\\cifs_BI-FileDumps\\BI-FileDumps\\\"}]}
上述实际值:
\\cifs_BI-FileDumps\BI-FileDumps\
我尝试使用在线 JSON 解析器将其转换为正常工作以及有效的 JSON。
但是当我们尝试反序列化它时,我们会得到这个错误:
执行“ExecuteQueryFunction”(失败,Id=d6a4875e-7aa8-47e8-b298-16d50f4807b5)System.Private.CoreLib:
执行函数时出现异常:ExecuteQueryFunction。
Newtonsoft.Json:错误的 JSON 转义序列:\B。路径 'value[0].HOST',第 3 行,位置 30。
解决方案
因此,您需要\
在序列化之前转义,对该字段进行编码。反序列化后,您应该解码回来。
\cifs_BI-FileDumps\BI-FileDumps\
变成:
%5Ccifs_BI-FileDumps%5CBI-FileDumps%5C
编码后。
当你解码它时,它会以其他方式工作。
推荐阅读
- javascript - 如何在我制作的nodejs中导出一个函数
- python - 如何对连续元组进行分组并通过 Python 在列表中选择最大一个?
- julia - 如何在 Flux.jl 中使用损失函数
- python-3.x - Python - 循环文件并按文件存储事件
- twitter - 使用 twarc 时如何避免 dquote?
- vue.js - Vue 应用:全局访问 userData 后认证的最佳实践
- c# - 无法在剃刀上使用外键对空引用执行运行时绑定
- python - 如何修改patchify制作的补丁?
- angular - Firebase Firestore 的 Map Reduce
- android - Is there a way to disable the "next" button for an editText that is set to numbers?