Java从json文件中读取数据

数据准备

数据是利用python生成的一个字典x,然后使用json.dump(x, file)就可以将数据保存成json文件存储至本地。

读取数据

借助java自带的一些FIle包和阿里的JSON、JSONArray、JSONObject三个包来完成文件的读取。
因为读文件时可能会出现异常,所以要用try/catch捕获异常。代码如下:

	public static void readFile() {
		BufferedReader reader;
		try {
			reader = new BufferedReader(new FileReader(new File("/home/xx/Desktop/data.json")));
			JSONObject data = (JSONObject)JSON.parse(reader.readLine());
			reader.close();
			
			if (data.containsKey("car")) {
				JSONArray carInfo = (JSONArray)data.get("car");   // 获得key=shop_info的value
				System.out.println(carInfo);
				System.out.println(carInfo.size());                     // 获得数组的大小
				for (int i=0; i<carInfo.size(); i++) {                  // 遍历数组
					System.out.print(i + "\t" + carInfo.getString(i));  
					System.out.println("\t" + carInfo.getString(i).split(":").length);
					String[] tmp = carInfo.getString(i).split(":");     // 对数组中第i个数据进行拆分
					
					for (int j=0; j<tmp.length; j++) {
			
						System.out.print(tmp[j] + " ");
					}
					System.out.println();
				}
				
				System.out.println("YES");
			}
		}catch (FileNotFoundException e) {
			System.out.println('1');
			e.printStackTrace();;
		} catch (IOException e) {
			System.out.println('2');
			System.out.println("read data file error.\n" + e.getMessage());
//			e.print("read data file error.\n" + e.getMessage());
		} catch (Exception e) {
			System.out.println('3');
			System.out.println(e.getMessage());
//			logger.error(e.getMessage());
		} 
	}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐