输入以0结束 java_java-在某些设备上,字符0输入错误结束

博主在尝试使用PHP构建的API时遇到一个问题,即在某些设备和运营商网络下,代码会返回空字符串并抛出JSONException。问题出现在输入字符串为空时,但代码在其他设备和条件下能正常工作。博客内容详细描述了HTTP请求过程,并提供了JSON响应示例。目前,博主无法访问出错的设备进行调试。
摘要由CSDN通过智能技术生成

我有以下代码在其中调用由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”

}

}

我不知道发生了什么事,请帮忙.任何输入将不胜感激.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值