解析百度api得到的JSon里有unicode字符的问题

徐徐徐徐徐 2013-12-20 10:26:45
问题是这样的:我根据百度根据IP返回城市信息的API做的一个小程序,然后问题就来了,百度返回的json里中文字符是unicode,像这样:{"address":"CN|\u4e0a\u6d77|\u4e0a\u6d77|None|CHINANET|0|None","content":{"address":"\u4e0a\u6d77\u5e02","address_detail":{"city":"\u4e0a\u6d77\u5e02","city_code":289,"district":"","province":"\u4e0a\u6d77\u5e02","street":"","street_number":""},"point":{"x":"121.48789949","y":"31.24916171"}},"status":0}
如果直接赋给一个String类型的变量就会自动把unicode字符的\转成\\,像这样:{\"address\":\"CN|\\u4e0a\\u6d77|\\u4e0a\\u6d77|None|CHINANET|0|None\",\"content\":{\"address\":\"\\u4e0a\\u6d77\\u5e02\",\"address_detail\":{\"city\":\"\\u4e0a\\u6d77\\u5e02\",\"city_code\":289,\"district\":\"\",\"province\":\"\\u4e0a\\u6d77\\u5e02\",\"street\":\"\",\"street_number\":\"\"},\"point\":{\"x\":\"121.48789949\",\"y\":\"31.24916171\"}},\"status\":0},问题来了,程序不能自动解析unicode了,我估计是把unicode字符当作字符串处理了,那么,请问怎么解决这个问题啊。我想要的是这样的:{\"address\":\"CN|上海|上海|None|CHINANET|0|None\",\"content\":{\"address\":\"上海市\",\"address_detail\":{\"city\":\"上海市\",\"city_code\":289,\"district\":\"\",\"province\":\"上海市\",\"street\":\"\",\"street_number\":\"\"},\"point\":{\"x\":\"121.48789949\",\"y\":\"31.24916171\"}},\"status\":0}。求大神,传道解惑!!!
...全文
970 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰炽 2015-06-29
  • 打赏
  • 举报
回复
徐徐徐徐徐 2013-12-20
  • 打赏
  • 举报
回复
public static string U2U(string s) { string res = s; MatchCollection reg = Regex.Matches(res, @"\\u\w{4}"); for (int i = 0; i < reg.Count; i++) { res = res.Replace(reg[i].Groups[0].Value, "" + Regex.Unescape(reg[i].Value.ToString()).ToString()); } return res; }
火拼阿三 2013-12-20
  • 打赏
  • 举报
回复
可以弄一个类似这样的Model,让后用一个dll,进行转换就可以了。 仅供参考...要用这个DLL:Newtonsoft.Json.dll

  String Json = IPHelper.getWebContent((TaoBaoURL + ip), "", utfcode, 10000, ref ErrorMessage);
  M_CodeData DataModel = JsonConvert.DeserializeObject<M_CodeData>(Json);

110,536

社区成员

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

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

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