public void Gson() {

    try {String abcPath="";//配置解析的文本路径JsonParser parser=new JsonParser();  //创建JSON解析器BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(abcPath),"UTF-8"),50*1024*1024); //设置缓冲区 编码JsonObject object=(JsonObject) parser.parse(in);  //创建JsonObject对象JsonArray array=object.get("features").getAsJsonArray();    //得到为features的数组for(int i=0;i<array.size();i++){JsonObject subObject=array.get(i).getAsJsonObject();JsonObject attributes=subObject.get("attributes").getAsJsonObject();//得到为attributes的节点JsonObject geometry=subObject.get("geometry").getAsJsonObject();//得到为geometry的节点JSONArray JArray = new JSONArray();  JSONArray JArrayOne = new JSONArray();  int leng=6;//保留几位小数JsonArray JArs= geometry.get("rings").getAsJsonArray();for (int j = 0; j < JArs.size(); j++) {JsonArray JArsk=JArs.get(j).getAsJsonArray();for (int k = 0; k <JArsk.size() ; k++) {JsonArray JArskl=JArsk.get(k).getAsJsonArray();if (k%10!=0 || k==0) {    //满十减一for (int l = 0; l < JArskl.size()/2;  l++) {Double a=JArskl.get(l).getAsDouble();Double b=JArskl.get(l+1).getAsDouble();BigDecimal bd = new BigDecimal(a);BigDecimal setScale = bd.setScale(leng, bd.ROUND_DOWN);BigDecimal bdf = new BigDecimal(b);BigDecimal setScaleTwo = bdf.setScale(leng, bdf.ROUND_DOWN);String geomey= "["+setScale+","+setScaleTwo+"]";JArray.add(JSONArray.fromObject(geomey));//将geomey对象添加到Json数组中}                                  }}}JArrayOne.add(JArray);String PAC=attributes.get("PAC").getAsString();String NAME=attributes.get("NAME").getAsString();String GEOMETRY=attributes.get("NAME").getAsString();Map<String, Object> params =new HashMap<String, Object>();params.put("PAC", PAC);params.put("NAME", NAME);params.put("GEOMETRY",GEOMETRY);jsonDao.add(params);//添加到了数据库}in.close();System.out.println("==================END===========================");} catch (JsonIOException e) {e.printStackTrace();} catch (JsonSyntaxException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}

Gson解析json文件相关推荐

  1. Android--------使用gson解析json文件

    ##使用gson解析json文件 **json的格式有两种:** **1. {}类型,及数据用{}包含:** **2. []类型,即数据用[]包含:** 下面用个例子,简单的介绍gson如何解析jso ...

  2. Java-json系列(一):用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  3. Java性能优化:正确的解析JSON文件

    为什么80%的码农都做不了架构师?>>>    数据收集服务平均1小时OOM(java.lang.OutOfMemoryError: GC overhead limit exceed ...

  4. python解析json_python解析json文件

    概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态 ...

  5. Android之GSON解析JSON

    Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库. 比如: <pre name="code" class=" ...

  6. 如何使用PHP解析JSON文件? [重复]

    本文翻译自:How can I parse a JSON file with PHP? [duplicate] This question already has an answer here: 这个 ...

  7. 使用C/C++解析json文件

    目录 为什么? 怎么做? 为什么? 举个例子,我们在使用C/C++进行深度学习模型的测试,由于测试过程中可能有许多参数要传给model,比如在进行目标检测时,要传入nms阈值等.我们要最优化测试结果, ...

  8. JSONObject 和 GSON 解析 JSON 数据详解(转)

    转载:http://www.jianshu.com/p/f99de3ec0636 点此进入:从零快速构建APP系列目录导图 点此进入:UI编程系列目录导图 点此进入:四大组件系列目录导图 点此进入:数 ...

  9. gson解析php,php,android_关于 Gson 解析JSON数据。。。,php,android - phpStudy

    关于 Gson 解析JSON数据... 1.首先,我是从服务器端传回来的JSON数据如下: {"info":"succeed","user_id&qu ...

  10. java解析json文件_Java性能优化:正确的解析JSON文件

    数据收集服务平均1小时OOM(java.lang.OutOfMemoryError: GC overhead limit exceeded)一次,发现都是在下载处理 JSON Atom Feed时OO ...

最新文章

  1. 补补算术基础:编程中的进制问题
  2. 一个亿的融资在一家芯片初创公司可以烧多久?
  3. C、C++申请指针内存的问题
  4. 《Java8实战》笔记(01):为什么要关心Java8
  5. python canopen_Python canopener包_程序模块 - PyPI - Python中文网
  6. Vista修改默认字体
  7. 我们在面临种种不良的飞鸽传书2012
  8. Oracle导出表数据客户端,使用PLSQL批量导出、导入表的数据(精简版的Oracle客户端亦可)...
  9. thinkphp5之配置tp5重写伪静态
  10. 苹果绕id工具_绕ID教程(iOS13.313.3.1)
  11. UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\u25aa‘ in position 11923: illegal multibyte
  12. LibreOffice 宏
  13. 数据特征分析 - 帕累托分析法
  14. HTTP超文本传输协议详解
  15. ACM学习:例题完成总结与期中心得
  16. 现在的钱越来越难挣了吗?
  17. freemarker macro宏定义
  18. 网络协议之:基于UDP的高速数据传输协议UDT
  19. 2020研究生数模竞赛思路
  20. T507修改分区方法-Linux、Android系统适用

热门文章

  1. 世界500强面试题 - 头脑
  2. 奔图打印机显示未连接_打印机连接正常,但是没反应
  3. Android UI个性style开源组件
  4. php 苹果apple登陆
  5. java培训一般有哪些课程_java培训有哪些课程
  6. 如何使用计算机讲解ppt,如何录制PPT讲解视频?
  7. windows无法格式化u盘_台电u盘无法格式化怎么办 台电u盘无法格式化解决办法【介绍】...
  8. java画图工具_java画图板工具
  9. 多维空间搜索算法RTree
  10. Internet上的Linux资源