android中的json二之json的读写
16lz
2022-03-10
android中的json的读取
1.读取Json文件中的json内容
首先在将json文件放在目录assets下:
test.json
{"programmers":[{"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"},{"firstName":"Jason","lastName":"Hunter","email":"bbbb"},{"firstName":"Elliotte","lastName":"Harold","email":"cccc"}],"authors":[{"firstName":"Isaac","lastName":"Asimov","genre":"sciencefiction"},{"firstName":"Tad","lastName":"Williams","genre":"fantasy"},{"firstName":"Frank","lastName":"Peretti","genre":"christianfiction"}],"musicians":[{"firstName":"Eric","lastName":"Clapton","instrument":"guitar"},{"firstName":"Sergei","lastName":"Rachmaninoff","instrument":"piano"}],"cat":"test"}
在main.java中读取
try { InputStreamReader isr=new InputStreamReader(getAssets().open("test.json"),"UTF-8");//打开test.json BufferedReader br=new BufferedReader(isr);//读取isr String line; StringBuilder builder=new StringBuilder(); while ((line =br.readLine())!=null){ builder.append(line); } br.close(); isr.close(); JSONObject root=new JSONObject(builder.toString()); System.out.println(root.getString("cat")); JSONArray arry=root.getJSONArray("programmers"); for (int i=0;i<arry.length();i++){ JSONObject lan=arry.getJSONObject(i); System.out.println("----------------"); System.out.println("firstName:"+lan.getString("firstName")); System.out.println("lastName:"+lan.getString("lastName")); System.out.println("email"+lan.getString("email")); } } catch (IOException e) { e.printStackTrace(); Log.e("IO:" , e.toString()); } catch (JSONException e) { e.printStackTrace(); Log.e("JSON:", e.toString()); }
显示结果:
如要读取给定Json数据:
可直接将值附上
源码下载: http://download.csdn.net/detail/agonie201218/8657765//JSONObject root=new JSONObject(builder.toString());换成-》 JSONObject root=new JSONObject("{'programmers':[{'firstName':'Brett','lastName':'McLaughlin','email':'aaaa'}]}");2.创建JSON格式数据JSONObject root1=new JSONObject(); try { root1.put("cat","it"); JSONObject lan1=new JSONObject(); lan1.put("id",1); lan1.put("ide","android"); lan1.put("name","java"); JSONObject lan2=new JSONObject(); lan1.put("id",2); lan1.put("ide","xcod"); lan1.put("name","ios"); JSONObject lan3=new JSONObject(); lan1.put("id",3); lan1.put("ide","vs"); lan1.put("name","C#"); JSONArray array=new JSONArray(); array.put(lan1); array.put(lan2); array.put(lan3); root1.put("programmers",array); System.out.println(root1.toString()); } catch (JSONException e) { e.printStackTrace(); } }
显示结果:
更多相关文章
- Android(安卓)Telechips89xx背光控制流程
- android ndk开发
- Android(安卓)Studio 配置SVN 及 代码管理
- Android(安卓)Button Selector
- 通读Android文档系列 TWO
- Android(安卓)tips2
- mac 上 配置 Android(安卓)NDK 环境
- Android(安卓)Studio 常见问题小结
- NPM 和webpack 的基础使用