当前位置: 首页 > 面试题库 >

Json:如何使用json.net正确删除转义字符

贾实
2023-03-14
问题内容

我有以下格式的json响应。

"[{\\\"JobID\\\":\\\"1\\\",\\\"BillGenerationDate\\\":\\\"4/29/2013 2:53:34 PM\\\",\\\"BillID\\\":\\\"115743\\\",\\\"BillNo\\\":\\\"115743\\\",\\\"CustomerID\\\":\\\"4041705\\\",\\\"PayStatus\\\":\\\"0\\\",\\\"PaymentRequiredStatus\\\":\\\"True\\\",\\\"ProductName\\\":\\\"Epic FBO test\\\",\\\"Description\\\":\\\"Epic Automation 2\\\\r\\\\n\\\",\\\"ProductType\\\":\\\"eBill \\\",\\\"DueType\\\":\\\"-1\\\",\\\"DueDate\\\":\\\"2013-03-15\\\",\\\"Amount\\\":\\\"63.70\\\",\\\"Cost\\\":\\\"\\\"},
{\\\"JobID\\\":\\\"9\\\",\\\"BillGenerationDate\\\":\\\"5/2/2013 10:21:39 AM\\\",\\\"BillID\\\":\\\"115743\\\",\\\"BillNo\\\":\\\"115743\\\",\\\"CustomerID\\\":\\\"4041705\\\",\\\"PayStatus\\\":\\\"0\\\",\\\"PaymentRequiredStatus\\\":\\\"True\\\",\\\"ProductName\\\":\\\"FBO Test Product\\\",\\\"Description\\\":\\\"FBO Product Test\\\",\\\"ProductType\\\":\\\"eBill \\\",\\\"DueType\\\":\\\"-1\\\",\\\"DueDate\\\":\\\"2013-05-01\\\",\\\"Amount\\\":\\\"150.70\\\",\\\"Cost\\\":\\\"\\\"}]

我相信json.net可以处理转义字符,因此我使用了以下代码将其反序列化为字典集合。

var billList = JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(contentCorrected);

但是,此json解析引发异常“无效的属性标识符字符:。路径’[0]’,第1行,位置2”。我们可以通过处理json响应字符串来解决此问题吗?


问题答案:

string contentCorrected = contentCorrected.Replace(@"\", "");在反序列化过程之前尝试。



 类似资料:
  • 问题内容: 我有一些JSON输入,其形状我无法预测,并且我必须进行一些转换(以称呼它),以便不记录某些字段。例如,如果我有此JSON: 然后,在转换之后,它应如下所示: 上面的示例是微不足道的,但实际情况并非如此。我将有一些正则表达式,如果 输入JSON 上的任何字段与之匹配,则不应将其放在结果上。如果我有一些嵌套对象,我将必须递归进行。我一直在 LINQ to JSON 上看到过一些东西,但找不

  • 问题内容: 我有一个像下面这样的json: 我只想将此JSON转换为其他JSON。我想从JSON中删除“ _ 元数据”和“ _some”节点。我正在使用JSON.NET。 问题答案: 我刚结束反序列化到JObject并递归地循环遍历以删除不需要的字段。这是那些有兴趣的人的功能。

  • 对于类中的方法,文档是这样说的: 取消此对话框,将其从屏幕上移除。可以从任何线程安全地调用此方法。请注意,当对话框被取消时,不应重写此方法来进行清理,而应在中实现此方法。 在我的代码中,我所做的就是调用来删除它。但是我没有做其他任何事情,甚至没有使用。因此,我问的是如何正确地删除以避免任何内存泄漏等。

  • 问题内容: 我正在从一个文件中读取,该文件在一行上读取所有内容: 然后,我的扫描程序会从文件中读取该文件并将其放入字符串中: 现在,我希望输出为: 但是相反,我得到了与输入完全相同的东西。也就是说,每个\ n都包含在输出中,并且所有内容都在一行中而不是单独的行中。 我以为Scanner能够正确读取转义字符,但它会像\\ n一样将其复制到String上。 问题答案: 如果写的是文件,则不能使用,因为

  • 我有一个Java程序,它将动态地为ElasticSearch构建一些参数的查询。目前,我构建这个的方式逃脱了字符串,因为JsonObject作为Google GSON库的一部分需要传递一个字符串来附加JSON。 以下方法的输出如下: 如您所见,存在的值是转义,ElasticSearch对此提出了一个合适的建议。如果没有转义字符串,我如何实现这个结果? 下面是< code > buildFilter

  • 我正在努力研究models.cascade语句的正确用法。我有两种型号的购物车和入门车。如果删除条目,则不会更新购物车条目上的删除。我已经通过管理界面检查过了。我的models.py如下所示: