首页 > 其他分享 >Newtonsoft.Json.JsonReaderException:“Bad JSON escape sequence: \*. Path '****', line *, p

Newtonsoft.Json.JsonReaderException:“Bad JSON escape sequence: \*. Path '****', line *, p

时间:2023-12-20 10:22:22浏览次数:27  
标签:Newtonsoft sequence JsonReaderException Json escape msg bfrnt

测试Json字符串msg:

{"field1":"\\\9527\","field2":"\\\\\data\\","field3":"\r\n\\\G\\\d\\\","field4":"TEST
TEST\\1TEST\\\GTEST\\\\GTEST2\\\\\TEST3\\\\\\TESTD"}

可以看到Json中充斥大量的\,之前一直用的是下面代码处理:

string pattern = @"(\\[^bfrnt\\/'\""])";
msg = Regex.Replace(msg, pattern, "\\$1");
dynamic js1 = JsonConvert.DeserializeObject(msg);

逻辑是将反斜杠“\” 和“非【bfrnt\/'"】的字符”前面再加一个加上\处理。

但是遇到上面的例子,执行的时候还是抛出了异常:

Newtonsoft.Json.JsonReaderException:“Bad JSON escape sequence: \9. Path 'field1', line 1, position 15.”

于是我稍微修改了一下正则:

string pattern2 = @"(\\(?![bfrnt/']))";
msg = Regex.Replace(msg, pattern2, "\\$1");
dynamic js2 = JsonConvert.DeserializeObject(msg);

逻辑是在反斜杠“\”前面再加一个加上\处理,但是\的后面不能为【bfrnt/'】

这样就可以正常转换了。

 

标签:Newtonsoft,sequence,JsonReaderException,Json,escape,msg,bfrnt
From: https://www.cnblogs.com/yellow3gold/p/17915901.html

相关文章

  • P4331 [BalticOI 2004] Sequence 数字序列
    [BalticOI2004]Sequence数字序列LuoguP4331题目描述给定一个整数序列\(a_1,a_2,\cdots,a_n\),求出一个递增序列\(b_1<b_2<···<b_n\),使得序列\(a_i\)和\(b_i\)的各项之差的绝对值之和\(|a_1-b_1|+|a_2-b_2|+\cdots+|a_n-b_n|\)最小。【数......
  • asp.net core 使用newtonsoft完美序列化WebApi返回的ValueTuple
    https://www.cnblogs.com/kugar/p/12334210.html   由于开发功能的需要,又懒得新建太多的class,所以ValueTuple是个比较好的偷懒方法,但是,由于WebApi需要返回序列化后的json,默认的序列化只能将ValueTuple定义的各个属性序列化成Item1...n  但是微软还是良心的为序列......
  • 未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义
    原文链接:https://blog.csdn.net/weixin_45488182/article/details/132537085网上的资料,大都是因为版本号不一致,我检查了很多遍,我这边版本号是12.0.1与12.0.2,config里是12.0.0,应该算是一致的吧。并且清理重新生成后,就不会报这个错。程序可以正常运行了。今天终于解决了这个问题,......
  • [ARC133B] Dividing Subsequence
    DividingSubsequence这道题与最长公共子序列类似,可以先去水一水那道题。题意本题就是让你从\(p\)里面选出一个子序列\(b_i\)和\(q\)里面选出一个子序列\(a_i\),我们要使\(b_i\)是\(a_i\)的倍数。解法本题直接用动态规划,是\(O(n^2)\)做法,会超时,因此我们用树状数......
  • [AGC049D] Convex Sequence 题解
    题目链接点击打开链接题目解法好题!!考虑原题的限制相当于原序列下凸,即差分数组单调考虑把原序列在第一个最小值处割成\(2\)半因为原序列是凸的,所以非最小值的长度是\(\sqrt{2m}\)级别的这可以让我们\(dp\)差分数组,即求满足\(\sum\limits_{i=1}^{n'}ib_i=m'\)的\(b......
  • dict( [1,2] ) # TypeError: cannot convert dictionary update sequence element
    dict([1,2])#TypeError:cannotconvertdictionaryupdatesequenceelement#0toasequence#listtupleset都可以,并且list(list([1,2]))==[1,2]#仍然是[1,2]list({"key":"value"})#只保留键名......
  • [CF83E] Two Subsequences 题解
    [CF83E]TwoSubsequences题解思路定义\(overlap(a,b)\)为字符串\(a\)的后缀与\(b\)的前缀的最大相等的长度,有\(|f(a,b)|=|a|+|b|-overlap(a,b)\),下文称匹配为相邻两串的\(overlap\)。观察到每次操作之后,一定有一个序列是以\(a_i\)为结尾的。所以根据这个......
  • LncDLSM: Identification of Long Non-coding RNAs with Deep Learning-based Sequenc
    关键词:作者:期刊:IEEEJournalofBiomedicalandHealthInformatics年份:2023论文原文:https://doi.org/10.1101/2022.09.02.506180主要内容1问题:长链非编码RNA(LncRNAs)在调控基因表达和其他生物过程中起着至关重要的作用。区分lncRNA和蛋白质编码转录本(PCTs)有助于研究人员深......
  • D2. Xor-Subsequence (hard version)
    D2.Xor-Subsequence(hardversion)Itisthehardversionoftheproblem.Theonlydifferenceisthatinthisversion$a_i\le10^9$.Youaregivenanarrayof$n$integers$a_0,a_1,a_2,\ldotsa_{n-1}$.Bryapwantstofindthelongestbeautifulsub......
  • TBtools的sequence toolkit常用功能介绍
    #博客园是我最近看到的一个平台,我在其它平台包括B站,简书,知乎,CSDN和小红书都有发布教程。fastaextract(recommended)给出序列的ID,可以提取特定序列,要点Initialize。fastastats查看序列文件的统计信息。sequencemanipulate(rev&comp)对序列进行正反链的互换,点击reverse和......