
我有以下代码在其中调用由PHP构建的API.代码返回如下所述的Json,我将其收集在stringBuilder对象中.问题是它在某些 *** 作符以及与其他 *** 作符/ wifi连接的少数设备上工作,在字符0异常处抛出JsONException输入末尾,我知道这是在输入字符串为空时出现的,这意味着stringBuilder对象为空.问题是我无法访问引发这些错误的设备.
我没有安装任何设备,为什么以下代码返回空字符串,并且在某些情况下仍能正常工作,用户已在3G和wifi上进行了测试,这些设备在其他国家/地区的 *** 作符不同.
httpClIEnt httpClIEnt = httpClIEntBuilder.create().build(); httpPost postRequest = new httpPost(ServiceUrls.base_url + ServiceUrls.get_profile_url); JsONObject object = new JsONObject(); object.put("username", params[0]); StringEntity input = new StringEntity(object.toString()); input.setContentType("application/Json"); postRequest.setEntity(input); httpResponse response = httpClIEnt.execute(postRequest); if (response.getStatusline().getStatusCode() != 200) { throw new RuntimeException("Failed : http error code : " + response.getStatusline().getStatusCode()); } BufferedReader br = new BufferedReader( new inputStreamReader((response.getEntity().getContent()))); String output; StringBuilder stringBuilder = new StringBuilder(); while ((output = br.readline()) != null) { stringBuilder.append(output); }如果是用于所有API调用,那么这是合乎逻辑的,但对于其他API调用却没有发生,则此API调用返回较大的JsON字符串,如下所示:
{
“status”:1,
“parking”:{
“name”:”ghgjjghghg”,
“cost”:3,
“ownerID”:29,
“address”:”xyz pqr”,
“slots”:4,
“image”:”d4bc95c1dd031685746f2c3570788acf.jpg”,
“details”:”gjhjghjgg”,
“amenitIEs”:”gjhg”,
“ID”:70,
“lon”:73.7898023,
“lat”:19.9974533,
“type”:0,
“available”:1
},
“rating”:0,
“ratingCount”:0,
“owner”:{
“ID”:29,
“username”:”vd@gmail.com”,
“password”:””,
“fullname”:”vi hdjh”,
“phone”:”23434fddf”,
“ccNum”:null,
“ccType”:null,
“type”:1,
“authType”:1,
“image”:”582e3a77d76ae3203cfd6d6a346da429.jpg”,
“dni”:”abc123″,
“account”:”ABCBANK”
}
}
我不知道发生了什么事,请帮忙.任何输入将不胜感激.
解决方法:
您发布的代码没有什么异常之处.那里没有任何线索.
让我总结一下我认为您所说的症状.
>对于某些设备/ *** 作符,特定的API调用失败.但并非所有设备/ *** 作符.
>对于与上述相同的设备/ *** 作符,其他API调用(如果有的话)始终有效.
>除了URL,客户端代码在所有情况下都是相同的.
对我来说,这是指服务器端的问题,该问题是由请求的外观触发的.但是无论哪种方式,我都将尝试通过查看服务器端的请求和响应并检查服务器端日志来对此进行调查.查看来自不同设备/ *** 作符的请求是否存在重大差异.特别是那些有效的与无效的.并查看服务器发送响应时响应是否为空.
总结以上是内存溢出为你收集整理的java-在某些设备上,字符0输入错误结束全部内容,希望文章能够帮你解决java-在某些设备上,字符0输入错误结束所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)