了解Java中的Gson Parser代码

时间:2019-03-20 13:50:15

标签: java json gson

我有一个代码,我想逐行了解代码是什么,因为我是Java新手,并且想了解该程序。

我的代码如下:

public class json {

    public static void main(String[] args) throws Exception {
        try {
            JsonReader jsonReader = new JsonReader(new FileReader("file"));
            Gson gson = new Gson();

            JsonElement json = gson.fromJson(jsonReader, JsonElement.class);

            //JsonElement json = new JsonParser().parse(jsonString);

            JsonArray array = json.getAsJsonObject().get("rows").getAsJsonArray();
            int length = array.size();
            for (int i = 0; i < length; i++) {
                System.out.println(array.get(i).getAsJsonObject().get("automatic").getAsJsonObject().get("kernel").getAsJsonObject().get("release").getAsString());
            }

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

当我运行它时,我得到:

3.16.0-5-amd64
3.16.0-5-amd64
3.16.0-5-amd64

该程序可以满足我的需求,但是有1或2行不完全理解100%。

所以JsonReader jsonReader = new JsonReader(new FileReader("file"));读取json文件

这将创建一个Gson对象Gson gson = new Gson();

我在这里创建一个元素“ json”,将所有json文件中的内容保存在里面吗? JsonElement json = gson.fromJson(jsonReader, JsonElement.class);

这行创建一个数组,是我在“ json”内容中搜索“行”吗? JsonArray array = json.getAsJsonObject().get("rows").getAsJsonArray();

所以int length = array.size();创建了一个称为“ lenght”的整数。但是array.size();到底能做什么?

我想我知道这个循环。它只是遍历对象并搜索所需关键字的内容,然后将其打印出来。

1 个答案:

答案 0 :(得分:0)

看看以下代码中的注释:

 D= nx.dominating_set(G, x) # the node source here is optional
 print(D)