Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You are not accounting for null geo types which will cause an exception on the original code. Use <code>peek()</code> to check for null. I've modified the code to handle this and it prints both objects.</p> <pre><code>class MyReader { public void readBegin(JsonReader reader) { try { reader.beginObject(); while (reader.hasNext()) { String name = reader.nextName(); if (name.equals("results")) { reader.beginArray(); while (reader.hasNext()) { read(reader); } reader.endArray(); } else { reader.skipValue(); } } reader.endObject(); } catch (Exception e) { e.printStackTrace(); } } public void read(JsonReader reader) throws Exception { String from_user = null, from_user_id_str = null, from_user_name = null, text = null; URL profile_image_url = null; reader.beginObject(); while (reader.hasNext()) { String name = reader.nextName(); if (name.equals("from_user")) { from_user = reader.nextString(); System.out.println(from_user); } else if (name.equals("from_user_id_str")) { from_user_id_str = reader.nextString(); } else if (name.equals("from_user_name")) { from_user_name = reader.nextString(); } else if (name.equals("geo")) { if (reader.hasNext()) { JsonToken peek = reader.peek(); if (peek == JsonToken.NULL) { reader.skipValue(); } else { reader.beginObject(); while (reader.hasNext()) { // String s = reader.nextName(); if (name.equals("coordinates")) { reader.beginArray(); double latitude = 0; double longitude = 0; while (reader.hasNext()) { latitude = reader.nextDouble(); longitude = reader.nextDouble(); } reader.endArray(); } else { reader.skipValue(); } } reader.endObject(); } } } else if (name.equals("profile_image_url")) { profile_image_url = new URL(reader.nextString()); } else if (name.equals("text")) { text = reader.nextString(); } else { reader.skipValue(); } } reader.endObject(); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload