C# JSON带中文字符、转义字符的转换处理

C# JSON带中文字符、转义字符的转换处理

服务器传入C#数据则转为UTF-8形式,

例如原始数据格式为:data= {“DATA”:[“xp_六脉神剑sword-0”,”xp_九阳神功-1”,”wi_2”,”xp_niubility-2”,”win7_bear-3”]},

在C#内,”六脉神剑”自动转为\xe5\x85\xad\xe8\x84\x89\xe7\xa5\x9e\xe5\x89\x91,

debug调试时,显示C#将\ 自动转义为 \\,即\\xe5\\x85\\xad\\xe8\\x84\\x89\\xe7\\xa5\\x9e\\xe5\\x89\\x91,

(由此可见,C#对于路径的引用时,应将\变为\\或加@,如Close.Image = Image.FromFile(@currentpath + “\image\close1.png”);)


那么JSON中转义字符处理:

需要在JSON转换为dictionary之前,再加入斜杠,具体代码如下:

 if (msg.Contains("\\"))
{
msg = msg.Replace("\\", "\\\\");
}

传回数据的时候再反转义:

 if (templatename.Contains("\\"))
     templatename = Regex.Unescape(templatename);
     templatename = System.Text.Encoding.UTF8.GetString(templatename.ToArray().Select(t => Convert.ToByte(t)).ToArray());

引用命名空间:using System.Text.RegularExpressions;

其它字符转义,参考:
http://blog.csdn.net/encienqi/article/details/43992211

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值