2016-09-14 10 views
0

AndroidでJSONテキストをあらかじめ試してみたいと思います。私の問題は、私はエラーに文字0org.json.JSONException:文字0での入力の終了

での入力の

エンドを得ることである私は、これに多数のスレッドを発見したが、何も私の問題のために働いているように見えるん。ここでは、コードは次のとおりです。

URL url; 
try { 
    url = new URL(https_url); 
    HttpsURLConnection con = (HttpsURLConnection)url.openConnection(); 
    FileOutputStream fileOutputStream1 = getApplicationContext().openFileOutput("Log.txt", MODE_PRIVATE); 
    String content = print_content(con); 
    JSONObject json = new JSONObject(content); 
    fileOutputStream1.write(json.toString().getBytes()); 
} catch (MalformedURLException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} catch (JSONException e) { 
    e.printStackTrace(); 
} 

そして、ここでは、メソッドです:

private static String print_content(HttpsURLConnection con){ 
    if(con!=null){ 

     try { 

      BufferedReader br = 
        new BufferedReader(
          new InputStreamReader(con.getInputStream())); 

      String input; 
      String data = ""; 

      while ((input = br.readLine()) != null){ 
       data = data + input; 
      } 
      br.close(); 
      return data; 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 
    return ""; 

} 

私は前にそれをプリントアウトし、私は接続から正しいテキストを取得することを確信しています。

ここでの名前はhttpsConnectionのリンクです:https://apps.runescape.com/runemetrics/profile/profile?user=Gragoyle&activities=20

+0

アプリをデバッグしましたが、同じjsonレスポンスが得られたことを確認しましたか? – csanonymus

+0

奇妙なことに、デバッグモードで動作します。しかし、それはprettyprintそれdoesnt、それは1つの行に戻ってきます。それがなぜ起こるのか知っていますか? –

+0

ブラウザの拡張機能やjsonをかなりプリントするものがあるかもしれませんが、jsonは通常1ライナーです。単にコンソールやログで簡単に印刷することはできません – csanonymus

答えて

0

あなたはかなりジャクソンを使用して印刷することができます。

ObjectMapper mapper = new ObjectMapper(); 
String jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(objectWithSchemaOfJson); 
System.out.println(jsonInString); 

Plsのチェック:可愛いプリントは、Webページのために必要とされている場合は、http://www.mkyong.com/java/jackson-2-convert-java-object-to-from-json/

<pre>タグ内にJSONを表示します。

関連する問題