使用com.google.gson包将json数据文件转换成List的方法

{"name":"狩猎者",
"age":98,
"tel":"13957809999",
"address":"中国湖南衡阳"},
{"name":"飞鱼",
"age":9,
"tel":"13957808888",
"address":"中国浙江宁波"}]
java程序如下:

 public static void readDataFromJson(){
  //读取json文件,保存到String json中
  String fileName="c:/temp/data.json";
  File file=new File(fileName);
  StringBuffer sb = new StringBuffer() ;
  String sJson;
  String line;
  BufferedReader br=null;
  try {
   br=new BufferedReader(new FileReader(file));
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  }
  try {
   while((line=br.readLine())!=null){
    sb.append(line);
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
  String json=sb.toString();
//  System.out.println("json:"+json);

  //利用com.google.gson 包将json转换成List

  List persons=new ArrayList();
  Gson gson = new Gson();
  List<JsonElement> list=new ArrayList();
  JsonParser jsonParser=new JsonParser();
  JsonElement jsonElement=jsonParser.parse(json);  //将json字符串转换成JsonElement
  JsonArray jsonArray=jsonElement.getAsJsonArray();  //将JsonElement转换成JsonArray
  Iterator it=jsonArray.iterator();  //Iterator处理
  while(it.hasNext()){  //循环
   jsonElement=(JsonElement) it.next(); //提取JsonElement
   json=jsonElement.toString();  //JsonElement转换成String
   Person person=gson.fromJson(json, Person.class); //String转化成JavaBean
   persons.add(person);  //加入List
  }

  System.out.println("ok");

 }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值