私はPHPをビルドしたAPIを呼び出しています。コードは、私がstringBuilderオブジェクトで収集している下記のjsonを返します。問題は、いくつかのキャリアといくつかのキャリアで動作している/他のキャリア/無線LAN接続でJSONExceptionの文字の例外の例外をスローすることですが、これは入力文字列が空の場合は、stringBuilderオブジェクトが空であることを意味します。問題は、これらのエラーを投げているデバイスにアクセスできないということです。文字の0での入力の終了が一部のデバイスのエラー
次のコードで空の文字列が返され、一部の機能が正常に動作していないデバイスがありますが、これらのデバイスが異なるキャリアにある他の国の3GでもWi-Fiでもテストされています。論理的だったが、他のAPI呼び出しのために起こるdoest、すべてのAPI呼び出しのためだった場合はStringBuilderの
{
「ステータス」で次のように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の呼び出しは、大きいサイズのJSON文字列を返します。 :1、 "駐車場":{
"名前": "ghgjjghghg"、 "コスト":3、 "OWNERID":29、 "アドレス": "XYZのPQR"、 "スロット":4、 「画像」:「d 4bc95c1dd031685746f2c3570788acf.jpg」、 "詳細": "gjhjghjgg"、 "設備": "gjhg"、 "ID":70、 "経度":73.7898023、 "LAT":19.9974533、 "タイプ":0 、 "使用可能":1 }、 "評価":0、 "ratingCount":0、 "所有者":{
"ID":29、 "ユーザ名": "[email protected]" 、 "パスワード": ""、 "フルネーム": "viのhdjh"、 "電話": "23434fddf"、 "ccNum":ヌル、 "CCTYPE":ヌル、 "タイプ":1、 "認証タイプ":1、 "イメージ": "582e3a77d76ae3203cfd6d6a346da429.jpg"、 "DNI": "ABC123"、 "アカウント": "ABCBANK" } }
私はいただきました!見当もつかない起こって、助けてください。任意の入力をいただければ幸いです。
投稿したコードは何も返されません。 'stringBuilder'がnullであると言っていますか?それとも文字が入っていないのでしょうか?または、他の何か? – azurefrog
はい@azurefrog stringbuilderがnullです –
StringBuilderが* not * nullです。それは*空です*あなたが記述する条件は、入力が空の場合に起こります。あなたが正確でない場合、あなたを助けることは不可能です。 – EJP