json——标准的JSON请求实现过程
来源:互联网 发布:幽灵行动4优化 编辑:程序博客网 时间:2024/06/01 09:29
单数据{'singer':{'id':01,'name':'tom','gender':'男'}} 多个数据{"singers":[ {'id':02,'name':'tom','gender':'男'}, {'id':03,'name':'jerry,'gender':'男'}, {'id':04,'name':'jim,'gender':'男'}, {'id':05,'name':'lily,'gender':'女'}]}
下面的类主要是解析单个数据parseJson()和多个数据的方法parseJsonMulti():public class JsonActivity extends Activity { /** Called when the activity is first created. */ private TextView tvJson; private Button btnJson; private Button btnJsonMulti; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tvJson = (TextView) this.findViewById(R.id.tvJson); btnJson = (Button) this.findViewById(R.id.btnJson); btnJsonMulti = (Button) this.findViewById(R.id.btnJsonMulti); btnJson.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // url // String strUrl = "http://10.158.166.110:8080/AndroidServer/JsonServlet"; String strUrl = ServerPageUtil.getStrUrl(UrlsOfServer.JSON_SINGER); //获得返回的Json字符串 String strResult = connServerForResult(strUrl); //解析Json字符串 parseJson(strResult); } }); btnJsonMulti.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String strUrl = ServerPageUtil.getStrUrl(UrlsOfServer.JSON_SINGERS); String strResult = connServerForResult(strUrl); //获得多个Singer parseJsonMulti(strResult); } }); } private String connServerForResult(String strUrl) { // HttpGet对象 HttpGet httpRequest = new HttpGet(strUrl); String strResult = ""; try { // HttpClient对象 HttpClient httpClient = new DefaultHttpClient(); // 获得HttpResponse对象 HttpResponse httpResponse = httpClient.execute(httpRequest); if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { // 取得返回的数据 strResult = EntityUtils.toString(httpResponse.getEntity()); } } catch (ClientProtocolException e) { tvJson.setText("protocol error"); e.printStackTrace(); } catch (IOException e) { tvJson.setText("IO error"); e.printStackTrace(); } return strResult; } // 普通Json数据解析 private void parseJson(String strResult) { try { JSONObject jsonObj = new JSONObject(strResult).getJSONObject("singer"); int id = jsonObj.getInt("id"); String name = jsonObj.getString("name"); String gender = jsonObj.getString("gender"); tvJson.setText("ID号"+id + ", 姓名:" + name + ",性别:" + gender); } catch (JSONException e) { System.out.println("Json parse error"); e.printStackTrace(); } } //解析多个数据的Jsonprivate void parseJsonMulti(String strResult) { try { JSONArray jsonObjs = new JSONObject(strResult).getJSONArray("singers"); String s = ""; for(int i = 0; i < jsonObjs.length() ; i++){ JSONObject jsonObj = ((JSONObject)jsonObjs.opt(i)) .getJSONObject("singer"); int id = jsonObj.getInt("id"); String name = jsonObj.getString("name"); String gender = jsonObj.getString("gender"); s += "ID号"+id + ", 姓名:" + name + ",性别:" + gender+ "\n" ; } tvJson.setText(s); } catch (JSONException e) { System.out.println("Jsons parse error !"); e.printStackTrace(); } } }
0 0
- json——标准的JSON请求实现过程
- JSON 请求的实现过程
- Andriod JSON请求实现过程
- ajax实现异步请求的json方式;
- 标准的json格式
- 使用 JSON 实现 HTTP 请求
- json:Json-lib框架——实现java对象与json、xml的互转
- 解析JSON的过程
- 解析JSON的过程
- Json解析的过程
- JSON 标准化的过程: 人为的将不标准的JSON数据(最外层不是{}或者[]),转换成 标准的 JSON 数据.
- SpringMVC源码-处理json请求过程
- AJAX跨域请求json数据的实现方法
- AJAX跨域请求json数据的实现方法
- SpringMVC实现JSON数据的请求与响应
- servlet filter实现接口json请求的日志记录
- 请求Url的json数据
- Json格式的http请求
- 第16章 STM32中断应用概览—零死角玩转STM32-F429系列
- 第17章 EXTI—外部中断/事件控制器—零死角玩转STM32-F429系列
- 第18章 SysTick—系统定时器—零死角玩转STM32-F429系列
- 第19章 通讯的基本概念—零死角玩转STM32-F429系列
- UIScrollView中的UITableView接收不到点击事件
- json——标准的JSON请求实现过程
- 第20章 USART—串口通讯—零死角玩转STM32-F429系列
- 【Qt开发】Qt测试计算时间
- 第21章 DMA—直接存储区访问—零死角玩转STM32-F429系列
- 第22章 常用存储器介绍—零死角玩转STM32-F429系列
- 顶级黑客欢乐解析:宝宝事件中人肉搜索的七种方法
- 第23章 I2C—读写EEPROM—零死角玩转STM32-F429系列
- 第24章 SPI—读写串行FLASH—零死角玩转STM32-F429系列
- 利用FlexPaper模仿百度文库实现文档的在线浏览