org.json.JSONTokener

Here are the examples of the java api class org.json.JSONTokener taken from open source projects.

1. UpdateIdAndType#createSequenceFileFromJSON()

Project: Web-Karma
File: UpdateIdAndType.java
public static void createSequenceFileFromJSON(FSDataInputStream fsDataInputStream, FSDataOutputStream fsDataOutputStream) throws IOException {
    JSONTokener tokener = new JSONTokener(new InputStreamReader(fsDataInputStream, "UTF-8"));
    PrintWriter pw = new PrintWriter(fsDataOutputStream);
    pw.println("[");
    tokener.nextClean();
    char tmp = '[';
    while (tmp != ']') {
        JSONObject obj = (JSONObject) tokener.nextValue();
        processJSONObject(obj);
        pw.println(obj.toString(4));
        tmp = tokener.nextClean();
        if (tmp != ']') {
            pw.println(",");
        }
    }
    pw.println("]");
    pw.close();
}

2. GenericRDFGenerator#loadContext()

Project: Web-Karma
File: GenericRDFGenerator.java
public JSONObject loadContext(ContextIdentifier id) throws IOException {
    if (contextCache.containsKey(id.getName())) {
        return contextCache.get(id.getName());
    }
    InputStream jsonStream;
    if (id.getContent() != null)
        jsonStream = IOUtils.toInputStream(id.getContent(), "utf-8");
    else
        jsonStream = id.getLocation().openStream();
    JSONTokener token = new JSONTokener(new InputStreamReader(jsonStream));
    JSONObject obj = new JSONObject(token);
    this.contextCache.put(id.getName(), obj);
    return obj;
}

3. JSONIdentityMapReduceLocal#processJSON()

Project: Web-Karma
File: JSONIdentityMapReduceLocal.java
private static void processJSON(File file, MapReduceDriver<Writable, Text, Text, Text, Text, Text> mapReduceDriver) throws JSONException, FileNotFoundException {
    JSONTokener tokener = new JSONTokener(new FileInputStream(file));
    char c = tokener.nextClean();
    if (c == '[') {
        while (true) {
            Object o = tokener.nextValue();
            mapReduceDriver.addInput(new BytesWritable(), new Text(o.toString()));
            char tmp = tokener.nextClean();
            if (tmp == ']')
                break;
        }
    }
}

4. TreeJsonActionTest#testExecute()

Project: javasimon
File: TreeJsonActionTest.java
@Test
public void testExecute() throws Exception {
    TestActionContext context = new TestActionContext("/data/tree.json");
    TreeJsonAction action = new TreeJsonAction(context);
    action.readParameters();
    action.execute();
    assertEquals(context.getContentType(), "application/json");
    String json = context.toString();
    // Test JSON format with an external library
    JSONTokener jsonTokener = new JSONTokener(json);
    Set<String> names = new HashSet<>();
    names.add("A");
    names.add("B");
    names.add("C");
    Object object = jsonTokener.nextValue();
    if (object instanceof JSONObject) {
        visitJSONObject((JSONObject) object, names);
    }
    assertTrue(names.isEmpty());
}

5. Response#createResponsesFromStream()

Project: astrid
File: Response.java
static List<Response> createResponsesFromStream(InputStream stream, HttpURLConnection connection, RequestBatch requests, boolean isFromCache) throws FacebookException, JSONException, IOException {
    String responseString = Utility.readStreamToString(stream);
    Logger.log(LoggingBehavior.INCLUDE_RAW_RESPONSES, RESPONSE_LOG_TAG, "Response (raw)\n  Size: %d\n  Response:\n%s\n", responseString.length(), responseString);
    JSONTokener tokener = new JSONTokener(responseString);
    Object resultObject = tokener.nextValue();
    List<Response> responses = createResponsesFromObject(connection, requests, resultObject, isFromCache);
    Logger.log(LoggingBehavior.REQUESTS, RESPONSE_LOG_TAG, "Response\n  Id: %s\n  Size: %d\n  Responses:\n%s\n", requests.getId(), responseString.length(), responses);
    return responses;
}

6. JSONUtils#objectForString()

Project: wink
File: JSONUtils.java
public static JSONObject objectForString(final String input) throws JSONException {
    assert input != null;
    JSONTokener tok = new JSONTokener(input);
    return new JSONObject(tok);
}

7. WinkContentNegotiationClientTest#testGetForCustomerInfoReturningJSON()

Project: wink
File: WinkContentNegotiationClientTest.java
public void testGetForCustomerInfoReturningJSON() throws JSONException {
    ClientResponse response = client.resource(getBaseURI() + "/customers/123").get();
    String responseBody = response.getEntity(String.class);
    assertEquals(200, response.getStatusCode());
    JSONTokener tokenizer = new JSONTokener(responseBody);
    JSONObject jObj = new JSONObject(tokenizer);
    assertEquals("John", jObj.get("name"));
    assertEquals(123L, jObj.getLong("id"));
}

8. WinkContentNegotiationClientTest#testGetReturningJSON()

Project: wink
File: WinkContentNegotiationClientTest.java
public void testGetReturningJSON() throws IOException, JSONException {
    // Sent HTTP GET request to query customer info, expect JSON.
    ClientResponse response = client.resource(getBaseURI() + "/customers/123").accept("application/json").get();
    String responseBody = response.getEntity(String.class);
    assertEquals(200, response.getStatusCode());
    JSONTokener tokenizer = new JSONTokener(responseBody);
    JSONObject jObj = new JSONObject(tokenizer);
    assertEquals("John", jObj.get("name"));
    assertEquals(123L, jObj.getLong("id"));
}

9. RequestHandler#handle()

Project: spydroid-ipcamera
File: RequestHandler.java
/**
	 * Executes a batch of requests and returns all the results
	 * @param request Contains a json containing one or more requests
	 * @return A JSON to send back
	 */
public static String handle(String request) {
    StringBuilder response = new StringBuilder();
    JSONTokener tokener = new JSONTokener(request);
    try {
        Object token = tokener.nextValue();
        response.append("{");
        // More than one request to execute
        if (token instanceof JSONArray) {
            JSONArray array = (JSONArray) token;
            for (int i = 0; i < array.length(); i++) {
                JSONObject object = (JSONObject) array.get(i);
                response.append("\"" + object.getString("action") + "\":");
                exec(object, response);
                if (i != array.length() - 1)
                    response.append(",");
            }
        // Only One request
        } else if (token instanceof JSONObject) {
            JSONObject object = (JSONObject) token;
            response.append("\"" + object.getString("action") + "\":");
            exec(object, response);
        }
        response.append("}");
    } catch (Exception e) {
        Log.e(TAG, "Invalid request: " + request);
        e.printStackTrace();
        return "INVALID REQUEST";
    }
    Log.d(TAG, "Request: " + request);
    Log.d(TAG, "Answer: " + response.toString());
    return response.toString();
}

10. Response#createResponsesFromString()

Project: q-municate-android
File: Response.java
static List<Response> createResponsesFromString(String responseString, HttpURLConnection connection, RequestBatch requests, boolean isFromCache) throws FacebookException, JSONException, IOException {
    JSONTokener tokener = new JSONTokener(responseString);
    Object resultObject = tokener.nextValue();
    List<Response> responses = createResponsesFromObject(connection, requests, resultObject, isFromCache);
    Logger.log(LoggingBehavior.REQUESTS, RESPONSE_LOG_TAG, "Response\n  Id: %s\n  Size: %d\n  Responses:\n%s\n", requests.getId(), responseString.length(), responses);
    return responses;
}

11. JSONUtils#parseJSON()

Project: oltu
File: JSONUtils.java
public static Map<String, Object> parseJSON(String jsonBody) {
    final Map<String, Object> params = new HashMap<String, Object>();
    final JSONTokener x = new JSONTokener(jsonBody);
    char c;
    String key;
    if (x.nextClean() != '{') {
        throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation, a JSON object text must begin with '{'", jsonBody));
    }
    for (; ; ) {
        c = x.nextClean();
        switch(c) {
            case 0:
                throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation, a JSON object text must end with '}'", jsonBody));
            case '}':
                return params;
            default:
                x.back();
                key = x.nextValue().toString();
        }
        /*
             * The key is followed by ':'. We will also tolerate '=' or '=>'.
             */
        c = x.nextClean();
        if (c == '=') {
            if (x.next() != '>') {
                x.back();
            }
        } else if (c != ':') {
            throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation, expected a ':' after the key '%s'", jsonBody, key));
        }
        Object value = x.nextValue();
        // guard from null values
        if (value != null) {
            if (value instanceof JSONArray) {
                // only plain simple arrays in this version
                JSONArray array = (JSONArray) value;
                Object[] values = new Object[array.length()];
                for (int i = 0; i < array.length(); i++) {
                    values[i] = array.get(i);
                }
                value = values;
            }
            params.put(key, value);
        }
        /*
             * Pairs are separated by ','. We will also tolerate ';'.
             */
        switch(x.nextClean()) {
            case ';':
            case ',':
                if (x.nextClean() == '}') {
                    return params;
                }
                x.back();
                break;
            case '}':
                return params;
            default:
                throw new IllegalArgumentException("Expected a ',' or '}'");
        }
    }
}

12. CustomizableEntityReader#read()

Project: oltu
File: CustomizableEntityReader.java
/**
     * Method extracted from {@code org.json.JSONObject#JSONObject(JSONTokener)}
     *
     * @param jsonString
     */
public void read(String jsonString) {
    final JSONTokener x = new JSONTokener(jsonString);
    char c;
    String key;
    if (x.nextClean() != '{') {
        throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation, a JSON object text must begin with '{'", jsonString));
    }
    for (; ; ) {
        c = x.nextClean();
        switch(c) {
            case 0:
                throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation, a JSON object text must end with '}'", jsonString));
            case '}':
                return;
            default:
                x.back();
                key = x.nextValue().toString();
        }
        /*
             * The key is followed by ':'. We will also tolerate '=' or '=>'.
             */
        c = x.nextClean();
        if (c == '=') {
            if (x.next() != '>') {
                x.back();
            }
        } else if (c != ':') {
            throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation, expected a ':' after the key '%s'", jsonString, key));
        }
        Object value = x.nextValue();
        // guard from null values
        if (value != null) {
            if (value instanceof JSONArray) {
                // only plain simple arrays in this version
                JSONArray array = (JSONArray) value;
                Object[] values = new Object[array.length()];
                for (int i = 0; i < array.length(); i++) {
                    values[i] = array.get(i);
                }
                value = values;
            }
            // if the concrete implementation is not able to handle the property, set the custom field
            if (!handleProperty(key, value)) {
                builder.setCustomField(key, value);
            }
        }
        /*
             * Pairs are separated by ','. We will also tolerate ';'.
             */
        switch(x.nextClean()) {
            case ';':
            case ',':
                if (x.nextClean() == '}') {
                    return;
                }
                x.back();
                break;
            case '}':
                return;
            default:
                throw new IllegalArgumentException("Expected a ',' or '}'");
        }
    }
}

13. IOUtil#readJsonObject()

Project: muzei
File: IOUtil.java
public static JSONObject readJsonObject(String json) throws IOException, JSONException {
    JSONTokener tokener = new JSONTokener(json);
    Object val = tokener.nextValue();
    if (!(val instanceof JSONObject)) {
        throw new JSONException("Expected JSON object.");
    }
    return (JSONObject) val;
}

14. TableJsonActionTest#testExecute()

Project: javasimon
File: TableJsonActionTest.java
@Test
public void testExecute() throws Exception {
    TestActionContext context = new TestActionContext("/data/table.json");
    TableJsonAction action = new TableJsonAction(context);
    action.readParameters();
    action.execute();
    assertEquals(context.getContentType(), "application/json");
    String json = context.toString();
    assertTrue(json.contains("{\"name\":\"A\",\"type\":\"STOPWATCH\",\"counter\":3,\"total\":600,\"min\":100,\"mean\":200,\"last\":300,\"max\":300,\"standardDeviation\":100"));
    assertTrue(json.contains("{\"name\":\"B\",\"type\":\"STOPWATCH\",\"counter\":2,\"total\":300,\"min\":100,\"mean\":150,\"last\":100,\"max\":200,\"standardDeviation\":71"));
    assertTrue(json.contains("{\"name\":\"C\",\"type\":\"STOPWATCH\",\"counter\":1,\"total\":300,\"min\":300,\"mean\":300,\"last\":300,\"max\":300,\"standardDeviation\":0"));
    assertTrue(json.contains("{\"name\":\"X\",\"type\":\"COUNTER\",\"counter\":2,\"total\":\"\",\"min\":1,\"mean\":\"\",\"last\":\"\",\"max\":4"));
    // Test JSON format with an external library
    JSONTokener jsonTokener = new JSONTokener(json);
    Set<String> names = new HashSet<>();
    names.add("A");
    names.add("B");
    names.add("C");
    Object object = jsonTokener.nextValue();
    if (object instanceof JSONArray) {
        JSONArray jsonArray = (JSONArray) object;
        for (int i = 0; i < jsonArray.length(); i++) {
            object = jsonArray.get(i);
            if (object instanceof JSONObject) {
                JSONObject jsonObject = (JSONObject) object;
                String name = jsonObject.getString("name");
                names.remove(name);
            }
        }
    }
    assertTrue(names.isEmpty());
}

15. ListJsonActionTest#testExecute()

Project: javasimon
File: ListJsonActionTest.java
@Test
public void testExecute() throws Exception {
    TestActionContext context = new TestActionContext("/data/table.json");
    ListJsonAction action = new ListJsonAction(context);
    action.readParameters();
    action.execute();
    assertEquals(context.getContentType(), "application/json");
    String json = context.toString();
    // Test JSON format with an external library
    JSONTokener jsonTokener = new JSONTokener(json);
    Set<String> names = new HashSet<>();
    names.add("A");
    names.add("B");
    names.add("C");
    Object object = jsonTokener.nextValue();
    if (object instanceof JSONArray) {
        JSONArray jsonArray = (JSONArray) object;
        for (int i = 0; i < jsonArray.length(); i++) {
            object = jsonArray.get(i);
            if (object instanceof JSONObject) {
                JSONObject jsonObject = (JSONObject) object;
                String name = jsonObject.getString("name");
                names.remove(name);
            }
        }
    }
    assertTrue(names.isEmpty());
}

16. Response#createResponsesFromString()

Project: ANE-Facebook
File: Response.java
static List<Response> createResponsesFromString(String responseString, HttpURLConnection connection, RequestBatch requests, boolean isFromCache) throws FacebookException, JSONException, IOException {
    JSONTokener tokener = new JSONTokener(responseString);
    Object resultObject = tokener.nextValue();
    List<Response> responses = createResponsesFromObject(connection, requests, resultObject, isFromCache);
    Logger.log(LoggingBehavior.REQUESTS, RESPONSE_LOG_TAG, "Response\n  Id: %s\n  Size: %d\n  Responses:\n%s\n", requests.getId(), responseString.length(), responses);
    return responses;
}