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显示结果:</p><p> <img alt="\" src="http://img2.shangxueba.com/img/uploadfile/20150504/17/B94D6A6C2E893CCC90B18B1DA5FBB90A.png" /></p><p> 如要读取给定Json数据:</p><p> 可直接将值附上</p>//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(); } }显示结果: