paulwong

          My Links

          Blog Stats

          常用鏈接

          留言簿(67)

          隨筆分類(1392)

          隨筆檔案(1150)

          文章分類(7)

          文章檔案(10)

          相冊

          收藏夾(2)

          AI

          Develop

          E-BOOK

          Other

          養生

          微服務

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          60天內閱讀排行

          以流的方式解釋巨大JSON文件

          https://www.ngdata.com/parsing-a-large-json-file-efficiently-and-easily/


          https://sites.google.com/site/gson/streaming

          http://www.acuriousanimal.com/2015/10/23/reading-json-file-in-stream-mode-with-gson.html

              public static void main(String [] args) throws IOException {
                  String filePath = "C:big-data.json";
                  FileInputStream in = new FileInputStream(new File(filePath));
                  JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
                  Gson gson = new GsonBuilder().create();
          //        reader.beginObject();
          //        reader.nextName();
                  reader.beginObject();//跳過"{"
                  while (reader.hasNext()) {
                      // Read data into object model
                      JsonToken jsonToken = reader.peek();
                      if(jsonToken.equals(JsonToken.NAME)) {
                          String name = reader.nextName();
                          if(name.equalsIgnoreCase("SUMMARY")) {
          //                    reader.beginObject();
                              Summary summary = gson.fromJson(reader, Summary.class);
                              logger.info(summary.toString());
                              break;
          //                    reader.endObject();//跳過"}"
                          }
                      } /*else if(jsonToken.equals(JsonToken.BEGIN_OBJECT)) {
                          reader.beginObject();
                      } else if(jsonToken.equals(JsonToken.STRING)) {
                          logger.info(reader.nextString());
                      } else if(jsonToken.equals(JsonToken.NUMBER)) {
                          logger.info(reader.nextInt() + "");
                      } else if(jsonToken.equals(JsonToken.END_OBJECT)) {
                          reader.endObject();
                      } 
          */
          //            Summary summary = gson.fromJson(reader, Summary.class);
          //            break;
                  }
                  reader.close();
              }

          posted on 2019-05-03 15:22 paulwong 閱讀(525) 評論(0)  編輯  收藏 所屬分類: JSON

          主站蜘蛛池模板: 周至县| 襄汾县| 高淳县| 沈丘县| 晋中市| 南部县| 集贤县| 胶州市| 鄯善县| 桑植县| 仙游县| 衡山县| 平邑县| 凤凰县| 宁国市| 扎鲁特旗| 鄄城县| 巢湖市| 盘山县| 武胜县| 龙岩市| 泾川县| 宁明县| 吴江市| 沽源县| 兴仁县| 东港市| 绵阳市| 昌图县| 南城县| 蓝田县| 柳林县| 宣恩县| 内丘县| 林周县| 平罗县| 山西省| 靖宇县| 胶州市| 安庆市| 宝山区|