android框架已经为我们集成了解析json的包


先一个简单的例子,json直接写在string中

String staticObject = "{\"firstname\":\"Steve\",\"lastname\":\"Jobs\",\"cellphones\":\"0\"}";void buildObject(){try{obj = new JSONObject(staticObject);String x = obj.get("firstname").toString() + " " + obj.get("lastname").toString() + " has " + obj.getInt("cellphones") + " Android phones.";setStatus(x);}catch (JSONException je){setStatus("Error occured " + je.getMessage());}}void setStatus(String x){TextView tv = (TextView) findViewById(R.id.txtStatus);tv.setText(x);}



将json写在文件中,并放在raw目录下
json形式为
{"firstname":"Richard","lastname":"Stearns","almamater":"Cornell University","occupation":"President, World Vision","interview":{"source" : "http://blog.guykawasaki.com/2007/05/ten_or_so_quest.html#ixzz0giEIX0zY","questions":[{"Question": "How much money does World Vision raise every year?","Answer": "Worldwide, World Vision raises about $2 billion annually; the U.S. office, which I head up, raises about half of the total."},{"Question": "Is this the 80/20 rule where twenty percent of the people send in eighty percent of the money or are donations more spread out?","Answer": "World Vision's strength is that we are supported by hundreds of thousands of faithful people who give us about a dollar a day by sponsoring children. Our \"major donors\" account for less than five percent of our total income. Also, for a non-profit, we have quite a diversified portfolio of revenue. Just over forty percent is cash from private citizens; thirty percent is government grants in food and cash; and about thirty percent are products donated from corporation--what we call \"gifts-in-kind.\""}]}}



其中解析代码为
void buildObjectFromFile(){try{String x = "";InputStream is = this.getResources().openRawResource(R.raw.interview);byte [] buffer = new byte[is.available()];while (is.read(buffer) != -1);String json = new String(buffer);obj = new JSONObject(json);x = obj.getString("firstname") + " " + obj.getString("lastname") + "n";x += obj.getString("occupation") + "n";JSONObject interview =  obj.getJSONObject("interview");x += "Interview source:" + interview.getString("source")  + "n";JSONArray questions = interview.getJSONArray("questions");x += "Number of questions: " + questions.length()  + "nn";int i;for (i=0;i<questions.length();i++){JSONObject qa = questions.getJSONObject(i);x += "------------n";x += "Q" + (i+1) + ". " + qa.getString("Question") + "nn";x += "A" + (i+1) + ". " + qa.getString("Answer") + "n";}setStatus(x);}catch (Exception je){setStatus("Error w/file: " + je.getMessage());}}


转载:http://www.linux-mag.com/id/7717

更多相关文章

  1. Android程序框架
  2. 【Android(安卓)开发教程】TimePicker
  3. Android开发和安全系列工具
  4. Android(安卓)Multimedia 框架总结案例,包含 MediaPlayer,Camera
  5. Android快速开发框架dyh详解(五)---基础层的使用
  6. tab使用 TabActivity TabHost Tabspec常用方法
  7. Android框架保证View更新必须在主线程的解读
  8. 淘宝(阿里百川)手机客户端开发日记第一篇 android 主框架搭建(二
  9. android各种控件的事件监听及举例

随机推荐

  1. android笔记-android基本操作和数据存储
  2. Android 用Shell命令设置静态ip
  3. Android 相对布局(Relative Layout)
  4. 研究一下Android中的动画效果
  5. Android(安卓)ADB超简单的安装方法
  6. android 界面布局 很好的一篇总结
  7. 通过ua检测浏览页面的设备是phone还是tab
  8. Android中数据存储的5中方法
  9. Android入门讲解(一)
  10. 网络请求框架(Volley)