首先,要先去下载相关的jar包,否则你是无法做到的。
在百度或者谷歌里面输入java json jar包下载就行了(共7个包)。
xom-1.1.jar
ezmorph-1.0.6.jar
json-lib-2.2.3-jdk15.jar
commons-lang-2.3.jar
commons-logging-1.1.jar
commons-collections-3.2.jar
commons-beanutils-core-1.7.0.jar
虽然说起来容易,但总会遇到些预想不到的问题。
下面是我遇到错误及解决办法:
1、Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap 这个错误是少引入了commons-collections包,因为当时下载的jar包里面没有这个jar包,如果不谷歌一下,真的不知道有这个jar包。
2、Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.collections.map.ListOrderedMap: method <init>()V not found 这个错误让我费解,这个是我下载了commons-collectio-3.0.jar包后出现的,是包的版本太低了,后来我引入了commons-collectio-3.2.jar包就OK了。
网上找到的一个读取json文件的函数:
public static String ReadFile(String path){
String laststr=""; File file=new File(path); BufferedReader reader=null; try{ reader=new BufferedReader(new FileReader(file)); String tempString=null; //int line=1; while((tempString=reader.readLine())!=null){ //System.out.println("line"+line+":"+tempString); laststr=laststr+tempString; //line++; } reader.close(); }catch(IOException e){ e.printStackTrace(); }finally{ if(reader!=null){ try{ reader.close(); }catch(IOException el){ } } } return laststr; }
另外还要主要读取文件的格式:
1.如果是[{},{},{}]
要用到JSONArray joar=JSONArray.fromObject(data);
2.如果是{[],[]}
要用到JSONObject jo=JSONObject.fromObject(data);