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"} 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数据:
可直接将值附上
//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(); } }
显示结果:![]()
源码下载:http://download.csdn.net/detail/agonie201218/8657765
原文:http://blog.csdn.net/agonie201218/article/details/45462023