Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4212045
  • 博文数量: 291
  • 博客积分: 8003
  • 博客等级: 大校
  • 技术积分: 4275
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-30 18:28
文章分类

全部博文(291)

文章存档

2017年(1)

2013年(47)

2012年(115)

2011年(121)

2010年(7)

分类: Windows平台

2013-12-06 14:09:35

前天用php调用另外一家公司的json接口时,出现很奇怪的问题
他们的接口是传入经纬度返回周边的经销商店信息,但是他们在广州测试没有问题,但是在我们在北京测试死活出不来,奇怪的是在纬度为39.9时出现不了结果,但是39.8时能够出现结果。当时怀疑他们的数据库或者查询逻辑有问题,或者把我的经纬度给屏蔽了
传入我们的经纬度,php老是解析出现null的问题,于是我用curl直接调用接口发现当传入北京的纬度时,他们返回的json数据中有一家店的电话号码里有回车,我就初步判断他们是直接查询数据库,拼接成json的,于是我写了个测试代码测试一下.net转出来的json是否有回车

点击(此处)折叠或打开

  1. <%@ Page Language="C#" %>
  2. <%@ Import Namespace="System.Web.Script.Serialization" %>
  3. <%
  4.  Hashtable hs = new Hashtable();
  5.  String phone="022-2212232\n0222-2322222";
  6. hs["addr"] = "沧州市运河区渤海路";
  7. hs["sales_phone"] = phone;

  8.     JavaScriptSerializer serializer = new JavaScriptSerializer();
  9.     string jsonString = serializer.Serialize(hs);
  10.     
  11. %>
  12. <%=jsonString%>
  13. <%=phone%>

果然没有回车了,都变为\n
JavaScriptSerializer应该是在.net framework3.5之上可以使用

关于json格式是有明确定义的
json.org上说的是控制字符和双引号都得转义
A string is a sequence of zero or more Unicode characters, wrapped in double quotes, using backslash escapes. A character is represented as a single character string. A string is very much like a C or Java string.

阅读(7001) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~