欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

将本地的json文件转换成java对象

程序员文章站 2022-05-24 11:10:07
...

1.首先下载GSON 的jar 包 。如gson-2.2.4.jar


2.然后 创建一个javabean 和json里面的属性对应

3.下面是工具类代码

package myUtil;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;


import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import test.WSWSVoucher;


public class JsonToJava {
	   
	
	 public static void main(String[] args) throws IOException {
		 String readJsonData = readJsonData("C://新建文本文档(4).txt");
		 Gson gson = new Gson();
		 TypeToken<List<WSWSVoucher>> typeToken = new TypeToken<List<WSWSVoucher>>(){};
		 List<WSWSVoucher> wswsVoucher =(List<WSWSVoucher>)gson.fromJson(readJsonData, typeToken.getType());
	     /* WSWSVoucher fromJson = gson.fromJson(readJsonData, WSWSVoucher.class);
	      System.out.println(fromJson.toString());*/
		  for(WSWSVoucher list :wswsVoucher){
			  System.out.println(list.toString());
		  }
	}
	
	
	/**   将本地文本中的内容读取到string字符串
	 * @param filePahtName   文件路径 如 :C://新建文本文档(4).txt
	 * @return   文件中的字符串
	 * @throws IOException
	 */
	public static String readJsonData(String filePahtName) throws IOException {
		StringBuffer strbuffer = new StringBuffer();
		File myFile = new File(filePahtName);
		if (!myFile.exists()) {
			System.err.println("不能找到文件" + filePahtName+",请检查文件地址");
		}
		try {
			FileInputStream fis = new FileInputStream(filePahtName);
			InputStreamReader inputStreamReader = new InputStreamReader(fis, "UTF-8");//乱码的话可以换成 GBK    //将字节流转化为字符输入流
			BufferedReader in  = new BufferedReader(inputStreamReader);  // 创建一个使用默认大小输入缓冲区的缓冲字符输入流。
			String str;
			while ((str = in.readLine()) != null) {
				strbuffer.append(str);  //new String(str,"UTF-8")
			}
			while (in !=null) {
				in.close();
			}
			while (inputStreamReader !=null) {
				inputStreamReader.close();
			}
			while (fis !=null) {
				fis.close();
			}
		} catch (IOException e) {
			e.getStackTrace();
		}
		return strbuffer.toString();
	}

}


 

相关标签: json java对象