浅谈json的封装和解析

2015-08-09 13:43 阅读 3,047 次 评论 0 条
版权声明:本文著作权归TeachCourse所有,未经许可禁止转载,谢谢支持!
转载请注明出处:http://teachcourse.cn/292.html

第一种json数据的封装格式:

{

"data":{"Java":"Java开发","Android":"Android程序设计"},

"header":{"name":"飞腾博客","address":"http://teachcourse.cn"}

}

public StringEntity getEntity(){

JSONObject dataParams=new JSONObject();

dataParams.put("Java","Java开发");

dataParams.put("Android","Java程序设计");

 

JSONObject headerParams=new JSONObject();

headerParams.put("name","飞腾博客");

headerParams.put("address","http://teachcourse.cn");

 

JSONObject params=new JSONObject();

params.put("data",dataParams);

params.put("header",headerParams);

 

StringEntity entity=new StringEntity(params.toString());

return entity;

 

}

 

第二种json数据的封装格式:

{

"data":[{"Java":"Java开发","Android":"Android程序设计"}],

"header":[{"name":"飞腾博客","address":"http://teachcourse.cn"}]

}

public StringEntity getEntity(){

JSONArray dataArray=new JSONArray();

JSONObject dataParams=new JSONObject();

dataParams.put("Java","Java开发");

dataParams.put("Android","Java程序设计");

dataArray.put("data",dataParams);

 

JSONArray headerArray=new JSONArray();

JSONObject headerParams=new JSONObject();

headerParams.put("name","飞腾博客");

headerParams.put("address","http://teachcourse.cn");

headerArray("header",headerParams);

 

JSONObject params=new JSONObject();

params.put("data",dataArray);

params.put("header",headerArray);

 

StringEntity entity=new StringEntity(params.toString());

return entity;

 

}

 

接收服务器端返回来的数据,解析json数据

String jsonString=getStringByInputStream(InputStream is);

JSONObject json=new JSONObject(jsonString);

JSONObject data=json.getJSONObject("data");

String java=data.optString("Java");

String android=data.optString("Android");

 

private static String getStringByInputStream(InputStream is) {
  StringBuilder sb = new StringBuilder();
  try {
    BufferedReader reader = new BufferedReader(new InputStreamReader(
     is, "UTF-8"), 8 * 1024);

   String line = null;
   while ((line = reader.readLine()) != null) {
    sb.append(line + "n");
   }
  } catch (IOException e) {
   sb.delete(0, sb.length());
  } finally {
   try {
    is.close();
   } catch (IOException e) {
    
   }
  }

  return sb.toString();
   }

 

关注公众号 扫一扫二维码,加我QQ

如果文章对你有帮助,欢迎点击上方按钮关注作者

来源:TeachCourse每周一次,深入学习Android教程,关注(QQ1589359239或公众号TeachCourse)
转载请注明出处:http://teachcourse.cn/292.html
分类:Android 标签:
隐式意图获取所有符合的Activity 隐式意图获取所有符合的Activit
关于WordPress后台设置中的WordPress地址和站点地址的解读 关于WordPress后台设置中的Wo
Android开发之枚举(Enum)在实际项目中的应用 Android开发之枚举(Enum)在实
Android开发之WebView控件使用说明 Android开发之WebView控件使用

发表评论

呲牙 憨笑 坏笑 偷笑 色 微笑 抓狂 睡觉 酷 流汗 鼓掌 大哭 可怜 疑问 晕 惊讶 得意 尴尬 发怒 奋斗 衰 骷髅 啤酒 吃饭 礼物 强 弱 握手 OK NO 勾引 拳头 差劲 爱你

表情