java 读写JSON(一)

算是第一次正式接触Json,没有深入研究,先贴上java的代码,日后才说!

package priv.chenhy.datehandle;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; /**
* @author
* @version
*
*/ /*
* 该方法需要依赖的包:json.lib+(ezmorph和commons的lang、logging、beanutils、collections)
*/
public class ReadWriteJson { @SuppressWarnings("finally")
private static List<JSONObject> ReadJsonFile(){
String path="./src/test.json";
File file=new File(path);
BufferedReader reader=null;
String jsonContent="";
List<JSONObject> jsonObjList=new ArrayList<JSONObject>(); try {
reader=new BufferedReader(new FileReader(file));
String tempString=null;
while((tempString=reader.readLine())!=null){
// System.out.println(tempString);
jsonContent+=tempString; //
JSONObject jo=JSONObject.fromObject(tempString);
jsonObjList.add(jo);
System.out.println("id:"+jo.get("_id"));
System.out.println("oid:"+jo.getJSONObject("_id").get("$oid"));
System.out.println("openid:"+jo.get("openid"));
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
finally {
if(reader!=null){
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return jsonObjList;
} } private static void WriteJson() {
JSONObject obj = new JSONObject();
obj.put("name", "jack");
obj.put("age", new Integer(20));
obj.put("balance", new Double(12.34));
obj.put("is_virgin", new Boolean(true)); JSONObject obj1 = new JSONObject();
obj1.put("name", "jack");
obj1.put("age", new Integer(20));
obj1.put("balance", new Double(12.34));
obj1.put("is_virgin", new Boolean(true));
obj1.put("hehe", obj); System.out.println("obj1:" + obj1);
System.out.println("obj:" + obj);
} public static void main(String[] args) {
WriteJson();
ReadJsonFile();
}
}

代码中用到的json数据文件如下:

{"_id":{"$oid":"56cecb6c0755e10498842230"},"openid":"2252199","dev_id":"869654022644995","platform":1,"create_time":{"$date":"2016-02-25T09:37:48.139Z"},"channel":"yl","app_version":"0.1","pkg_sign":"1601970164"}
{"_id":{"$oid":"56cecb6d0755e10497842230"},"openid":"2687638","dev_id":"865168024215260","platform":1,"create_time":{"$date":"2016-02-25T09:37:49.080Z"},"channel":"yl","app_version":"0.1","pkg_sign":"1601970164"}
{"_id":{"$oid":"56cecb740755e10497842232"},"openid":"2527384","dev_id":"6EC47E5C-402A-4355-B6C7-4DFD2CA9A1B7","platform":2,"create_time":{"$date":"2016-02-25T09:37:56.796Z"},"channel":"yl","app_version":"1.0"}
{"_id":{"$oid":"56cecb770755e10499842231"},"openid":"2252199","dev_id":"869654022644995","platform":1,"create_time":{"$date":"2016-02-25T09:37:59.282Z"},"channel":"yl","app_version":"0.1","pkg_sign":"1601970164"}
{"_id":{"$oid":"56cecb770755e10497842233"},"openid":"2288891","dev_id":"866184027180988","platform":1,"create_time":{"$date":"2016-02-25T09:37:59.656Z"},"channel":"yl","app_version":"0.1","pkg_sign":"1601970164"}
{"_id":{"$oid":"56cecb780755e10499842232"},"openid":"3195291","dev_id":"867756021381099","platform":1,"create_time":{"$date":"2016-02-25T09:38:00.779Z"},"channel":"yl","app_version":"0.1","pkg_sign":"1601970164"}
{"_id":{"$oid":"56cecb7e0755e10497842235"},"openid":"2288891","dev_id":"866184027180988","platform":1,"create_time":{"$date":"2016-02-25T09:38:06.785Z"},"channel":"yl","app_version":"0.1","pkg_sign":"1601970164"}
{"_id":{"$oid":"56cecb870755e10499842235"},"openid":"2229493","dev_id":"6B38EE97-7B63-4BBD-9E39-69F9725D9E81","platform":2,"create_time":{"$date":"2016-02-25T09:38:15.393Z"},"channel":"yl","app_version":"1.0"}
{"_id":{"$oid":"56cecb8b0755e104c32a25fb"},"openid":"2717296","dev_id":"865308023993802","platform":1,"create_time":{"$date":"2016-02-25T09:38:19.046Z"},"channel":"yl","app_version":"0.1","pkg_sign":"1601970164"}
{"_id":{"$oid":"56cecb920755e104c32a25fc"},"openid":"3211441","dev_id":"574555438307688","platform":1,"create_time":{"$date":"2016-02-25T09:38:26.106Z"},"channel":"yl","app_version":"0.1","pkg_sign":"1601970164"}
上一篇:在Angular中定义共享的Providers


下一篇:SpringMVC核心类和注解