Groovy 读取json文件,并用gson反序列化

package com.bicycle.util
import bicycle_grails.StationInfo
import com.google.gson.Gson
import com.google.gson.JsonArray
import com.google.gson.JsonObject
import com.google.gson.JsonParser
import com.google.gson.reflect.TypeToken
import java.io.* /**
* Created by gao on 2017/3/22.
*/
class Test { static void main(String[] args) {
String data = ReadFile("C:\\project\\station.json");
SqlConnect.init()
//创建gson对象,用于json处理
Gson gson=new Gson()
//将从json字符串中读取的数据转换为接送对象
JsonObject returnData = new JsonParser().parse(data).getAsJsonObject()
//获取json数组对象
JsonArray jsonArray= returnData.getAsJsonArray("station")
//将json数组对象转换成list集合,gson提供fromJson方法进行放序列化
List<StationInfo> retList = gson.fromJson(jsonArray, new TypeToken<List<StationInfo>>(){}.getType())
for(StationInfo stationInfo:retList){
def sql="insert into station_info (station_id, area_id,station_name,lng,lat,lng1,lat1,stall_num,address,is_all_day,person_duty) values (${stationInfo.station_id}, ${stationInfo.area_id},${stationInfo.station_name},${stationInfo.lng},${stationInfo.lat},${stationInfo.lng1},${stationInfo.lat1},${stationInfo.stall_num},${stationInfo.address},${stationInfo.is_all_day},${stationInfo.person_duty})"
println(sql)
SqlConnect.getConnection().execute(sql)
}
}
static String ReadFile(String Path) {
BufferedReader reader = null
String laststr = ""
try {
//将json文件读入fileInputStream对象
FileInputStream fileInputStream = new FileInputStream(Path)
//将文件流转换为字符输入流,格式为UTF-8
//InputStreamReader : 是字节流与字符流之间的桥梁,能将字节流输出为字符流,并且能为字节流指定字符集,可输出一个个的字符;
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "utf-8")
//BufferedReader : 提供通用的缓冲方式文本读取,readLine读取一个文本行,也可以从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
reader = new BufferedReader(inputStreamReader)
String tempString = null
while ((tempString = reader.readLine()) != null) {
laststr += tempString
}
reader.close()
} catch (IOException e) {
e.printStackTrace()
} finally {
if (reader != null) {
try {
reader.close()
} catch (IOException e) {
e.printStackTrace()
}
}
}
return laststr
}
}

Groovy 读取json文件,并用gson反序列化为List集合的更多相关文章

  1. cocos2d-x 读取 json 文件并用 jsoncpp 做解析

    一码胜万言(请看注释) CclUtil.h // // CclUtil.h // PracticeDemo // // Created by kodeyang on 8/1/13. // // #if ...

  2. Unity的Json解析<一>--读取Json文件

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/50373558 作者:car ...

  3. Asp.Net MVC 读取json文件

    有些系统上面的配置可以做成config里面的appsetting.这里要求写在json文件里面. 首先 添加命名空间 using Newtonsoft.Json; using System.IO; u ...

  4. jquery无法读取json文件问题

    jquery无法读取json文件,如:user.json文件无法读取.把user.json文件的后缀名修改为aspx,文件内容不变,则可以读取~ 原理不懂!~~

  5. Unity 用C#脚本读取JSON文件数据

    读取JSON文件数据网上有很多方法吗,这里采用SimpleJSON,关于SimpleJSON的介绍参考以下链接:http://wiki.unity3d.com/index.php/SimpleJSON ...

  6. jQuery读取json文件,实现省市区/县(国标)三级联动

    最近做一个微信项目,需要用户填写所在的省市区/县,决定使用jQuery读取json文件来实现省市区/县的联动. 其实很简单,jQuery文档也有详细解释: 代码如下: html <table w ...

  7. jqery ajax读取json文件

    json文件数据 [ {"name":"哈哈··","email":"邮箱01","gender": ...

  8. spring注解读取json文件

    开发时候在接口没有提供的时候,可以用json文件提前模拟接口数据 1.service层 package com.syp.spring.service; import java.io.File; imp ...

  9. Android - 读取JSON文件数据

    Android读取JSON文件数据 JSON - JavaScript Object Notation 是一种存储和交换文本信息的语法. JSON对象在花括号中书写.用逗号来分隔值. JSON数组在方 ...

随机推荐

  1. Android wm指令用法详解

    wm 是查看和设置显示信息的指令,此指令只能临时调试使用. wm:查看 wm 指令信息 $ adb shell root@rk3288:/ # wm wm usage: wm [subcommand] ...

  2. C#使用OpcNetApi.dll和OpcNetApi.Com.dll操作OPC

    本人学习了一下.Net,恰好,51自学网,又要用这个.而网上很多VC6,VB6,VB .Net的但,很少C#的.现在研究一下,给出例子: 测试平台,是VS2008,KEPServer,OpcNetAp ...

  3. maven下载源代码,中文注释乱码的处理方法

    通过maven下载的源码,如果有注释是中文的话,一般会有乱码问题,解决办法如下: Window -> Preferences -> Content Types -> Text -&g ...

  4. .NET后台访问其他站点代码整理

    HttpWebRequest request = WebRequest.Create(@"http://localhost:8080/mail/SendMail") as Http ...

  5. JVM体系结构之七:持久代、元空间(Metaspace) 常量池==了解String类的intern()方法、常量池介绍、常量池从Perm-->Heap

    一.intern()定义及使用 相信绝大多数的人不会去用String类的intern方法,打开String类的源码发现这是一个本地方法,定义如下: public native String inter ...

  6. Java-Runoob-高级教程-实例-字符串:04. Java 实例 - 字符串替换

    ylbtech-Java-Runoob-高级教程-实例-字符串:04. Java 实例 - 字符串替换 1.返回顶部 1. Java 实例 - 字符串替换  Java 实例 如何使用java替换字符串 ...

  7. linux下今天遇到的问题

    之前由于测试需要,必须用mysql5.7的客户端, 现在由于产品完善,开始支持5.6,所以需要装5.6的客户端做测试,考虑到手工测试的效率及不可重复性,准备自动化执行原来的用例. 老的用例是用MySQ ...

  8. [原][Java]eclipse 修改自动提示

    下载 jar 链接:http://files.cnblogs.com/files/z5337/org.eclipse.jface.text_3.7.2.v20111213-1208.zip 或者这个: ...

  9. suse 安装gcc

    1)挂载ISO镜像 新建一个目录: mkdir /mnt/iso 将ISO文件挂载到该目录上: mount -o loop /opt/SLES-11-SP3-DVD-x86_64-GM-DVD1.is ...

  10. osx安装启动mysql

    安装mysql 最新版 56 brew install mysql 1 启动报错 ben:~ soul$ which mysql /usr/local/bin/mysql ben:~ soul$ my ...