无法从Java语言中读取json {object1} {object2} {object3} .....

时间:2017-02-19 07:44:43

标签: java json

我正在从tweets集合中获取hashtags列表,我将tweets收集到文件中,然后通过bufferReader附加到字符串。

如果我写 JSONObject obj = new JSONObject(String name),那么我只能读取Object1 JSON数据。在这一点之后,我陷入困境,不知道如何迭代地得到第二,第三等等。是否有任何编程方法可以从字符串(具有JSON数据)或任何其他方式查找JSON对象数组?

1 个答案:

答案 0 :(得分:0)

连接JSON对象表示时,需要从JSON数组表示开始,每个JSON对象表示应该用逗号分隔。

public class JSonTest {
    public static void main(String[] args) {
        String json1 = "{ \"id\": 1, \"name\": \"A green door\", \"price\": 12.50,  \"tags\": [\"home\", \"green\"]}";

        String json2 = "{ \"id\": 2, \"name\": \"A blue door\", \"price\": 1.50,  \"tags\": [\"home\", \"blue\"]}";

        // Printing concatenated JSON Representation
        JSONObject jsonObject = new JSONObject(json1 + json2); // Will see only
                                                                // first object
        System.out.println(jsonObject);

        // Printing Array representation
        JSONArray array = new JSONArray("[" + json1 + "," + json2 + "]");
        System.out.println(array);
    }
}

输出:

{"tags":["home","green"],"id":1,"price":12.5,"name":"A green door"}
[{"tags":["home","green"],"id":1,"price":12.5,"name":"A green door"},{"tags":["home","blue"],"id":2,"price":1.5,"name":"A blue door"}]