使用com.google.gson包将json数据文件转换成List的方法,,API参考:http:/
分享于 点击 36008 次 点评:133
使用com.google.gson包将json数据文件转换成List的方法,,API参考:http:/
API参考:http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html
将json转换成javaBean可以有多种解决方案,最近发现google的Gson包非常有效,且风格优雅。通过阅读API,和实践,摸索出一个读取json数据文件,然后转换成List的办法,源代码如下:
data.json文件内容如下:
[{"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"); }
用户点评