json数据保存到数据库,从数据库取出来时被转义了

u010993537 2015-01-30 04:04:39
我把json数据存到了数据库,在数据库中还是对的,但是取出来时,发现取到的结果中双引号变成了\",导致反序列化失败。
请问大神们这种情况该怎么处理?我想用正则转换回来发现不行,string a = pse.Content.Replace("\\","");为什么呢?
...全文
2845 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
然后没有然 2016-07-17
  • 打赏
  • 举报
回复
给个答案看看吧,今天我也遇到同样的问题 ,是放到DataTable 后 转义的,安卓 和 IOS 解析不出来
u010993537 2015-01-30
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
\" 就是 ",这要看你具体是在哪里、哪一个工具上看的。 比如说你在vs的“监视窗口”,看到一个字符串内容是 "abc\"def",这是7个字符,根本不是8个字符。如果你用“文本可视化工具”来查看这个字符串,它就显示 abc"def 了。 你首先应该确定保存到数据库里的文本会不会多出一些\字符来(字符个数最起码多一个吧)。不要瞎猜。
谢谢SP大神,原来是我反序列化的方法不对,导致反序列化失败。我误以为是双引号的问题,多亏SP大神指点,谢谢!
u010993537 2015-01-30
  • 打赏
  • 举报
回复
引用 1 楼 Z65443344 的回复:
不要断点跟着看,你在程序里直接看必然是带转义符的 输出到文本框里或者txt文件里再看
谢谢大神,原来是我反序列化的方法不对,导致反序列化失败。我误以为是双引号的问题,多亏大神指点,谢谢!
於黾 2015-01-30
  • 打赏
  • 举报
回复
string a = pse.Content.Replace("\\","") 这是把\\变成空,不是把\变成空 \是转义符啊 你想把转义符去掉? 这就好比0的ASCII码是40 而\0的ASCII码是0 转义符只是个表现方式罢了,并不是真实存在的字符
  • 打赏
  • 举报
回复
\" 就是 ",这要看你具体是在哪里、哪一个工具上看的。 比如说你在vs的“监视窗口”,看到一个字符串内容是 "abc\"def",这是7个字符,根本不是8个字符。如果你用“文本可视化工具”来查看这个字符串,它就显示 abc"def 了。 你首先应该确定保存到数据库里的文本会不会多出一些\字符来(字符个数最起码多一个吧)。不要瞎猜。
於黾 2015-01-30
  • 打赏
  • 举报
回复
不要断点跟着看,你在程序里直接看必然是带转义符的 输出到文本框里或者txt文件里再看

111,104

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧