用JsonParser解析json樹模型

解析json字符串可以像解析DOM一樣,解析每一個節點。Gson的jar包中提供了JsonParser類,專門用於解析json字符串的,注意只是json節點的內容解析出來,並不像前兩節把整個json字符串反序列化爲一個對象。

    public static void main(String[] args) {
        String jsonString = "{\"id\":1, \"name\":\"lzj\", \"cars\":[\"audi\", \"baoma\", \"benci\"]}";
        JsonParser parser = new JsonParser();
        JsonElement jsonNode = parser.parse(jsonString);
        if (jsonNode.isJsonObject()) {
            JsonObject jsonObject = jsonNode.getAsJsonObject();
            JsonElement jsonElementId = jsonObject.get("id");
            int id = jsonElementId.getAsInt();
            System.out.println("id : " + id);

            JsonElement jsonElementName = jsonObject.get("name");
            String name = jsonElementName.getAsString();
            System.out.println("name : " + name);

            JsonElement jsonElementCars = jsonObject.get("cars");
            JsonArray arrays = jsonElementCars.getAsJsonArray();
            for(int i=0; i<arrays.size(); i++){
                JsonElement jsonElementArray = arrays.get(i);
                String car = jsonElementArray.getAsString();
                System.out.println("car" + i + " : " + car);
            }
        }
    }

運行程序,輸出:

                         id : 1

                        name : lzj

                        car0 : audi

                        car1 : baoma

                        car2 : benci

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章