android中的json二之json的讀寫
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顯示結果:
如要讀取給定Json資料:
可直接將值附上
//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(); } }
顯示結果: