/**
* 读取json文件,返回json串
* @param fileName
* @return
*/
public static String readJsonFile(String fileName) {
String jsonStr = "";
try {
File jsonFile = new File(fileName);
FileReader fileReader = new FileReader(jsonFile);
Reader reader = new InputStreamReader(new FileInputStream(jsonFile),"utf-8");
int ch = 0;
StringBuffer sb = new StringBuffer();
while ((ch = reader.read()) != -1) {
sb.append((char) ch);
}
fileReader.close();
reader.close();
jsonStr = sb.toString();
return jsonStr;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public static void main(String[] args) throws Exception{
// String path = StyleUtil.class.getClassLoader().getResource("test.json").getPath();
String path = "D:\\test.json";
String str = StyleUtil.readJsonFile(path);
System.out.println(str);
JSONObject jsonObj = JSON.parseObject(str);
// JSONObject jsonObj = JSONObject.parseObject(str);
System.out.println("name: "+jsonObj.get("name"));
JSONObject sources = jsonObj.getJSONObject("sources");
System.out.println("sources: "+sources.get("type"));
String layers = jsonObj.getString("layers");
// String layers = (String) jsonObj.get("layers");
System.out.println(layers);
JSONArray array = JSONArray.parseArray(layers);
// JSONArray array = jsonObj.getJSONArray("layers");
for (int i = 0; i < array.size(); i++) {
// System.out.println(array.get(i));
JSONObject item = (JSONObject)array.get(i);
String id = item.getString("id");
String type = item.getString("type");
String paint = item.getString("paint");
System.out.println(id+","+type);
}
}
需要导入fastjson-1.1.41.jar 下载地址
如果是maven项目,可以添加
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>