记一个JSON解析,客户端,服务端
来源:互联网 发布:sql语句美化小工具 编辑:程序博客网 时间:2024/06/08 09:48
安卓端
package com.example.httprequest;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpRequest;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.client.methods.HttpUriRequest;import org.apache.http.entity.BasicHttpEntity;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.impl.conn.DefaultClientConnection;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity implements OnClickListener {private Button get, post;private TextView info;private Handler handle = new Handler();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);get = (Button) findViewById(R.id.get);post = (Button) findViewById(R.id.post);info = (TextView) findViewById(R.id.info);}@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();get.setOnClickListener(this);post.setOnClickListener(this);}private List<MyJosn> list=new ArrayList<MyJosn>();//用来存数据@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.get://使用网络操作放在线程中new Thread(new Runnable() {@Overridepublic void run() {final String result = doGet();//{key,[{key1,value,key2,value,key3,vaule},{key1,value,key2,value,key3,vaule},{key1,value,key2,value,key3,vaule}]}try {JSONObject jo=new JSONObject(result);//获得jsonobjectJSONArray ja=jo.getJSONArray("data");//取得数组for(int i=0;i<ja.length();i++){//循环赋值将数据存到list中;JSONObject joo=ja.getJSONObject(i);String key1=joo.getString("key1");String key2=joo.getString("key2");String key3=joo.getString("key3");MyJosn my=new MyJosn();//将数据存到自定义类中my.setKey1(key1);my.setKey2(key2);my.setKey3(key3);list.add(my);}} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();}//更新uihandle.post(new Runnable() {@Overridepublic void run() {info.setText(list.toString());}});}}).start();break;case R.id.post://post的请求方式,没有解析返回的jsonnew Thread(new Runnable() {@Overridepublic void run() {final String result=doPost();handle.post(new Runnable() {@Overridepublic void run() {info.setText(result);}});}}).start();break;default:break;}}private String doGet() {String result = null;try {HttpClient client = new DefaultHttpClient();//默认http客户端HttpGet request = new HttpGet("http://10.10.9.3:80/108Project/first?name=aaa");//实例化一个httpGet地址后面附加参数HttpResponse response = client.execute(request);//执行request,获得一个响应,阻塞操作result = EntityUtils.toString(response.getEntity());//取得数据,用entityutil工具转换成String;} catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return result;//返回一个字符串}private String doPost() {String result = null;try {HttpClient client = new DefaultHttpClient();HttpPost request = new HttpPost(//1。post请求"http://10.10.9.3:80/108Project/first");List<NameValuePair> list=new ArrayList<NameValuePair>();//4.实例化一个list.add(new BasicNameValuePair("name", "bbb"));//5.添加HttpEntity entity=new UrlEncodedFormEntity(list, "UTF-8");//3.那么久new一个httpentity实现类吧,然后发现需要一个List<NameValuePair>,那在弄一个吧request.setEntity(entity);//2.设置请求内容,要用到一个httpentity;HttpResponse response = client.execute(request);//6.发送请求等待响应result = EntityUtils.toString(response.getEntity());//7.取得结果} catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return result;}}
0 0
- 记一个JSON解析,客户端,服务端
- JSON分析_服务端返回json和客户端解析json
- SpringMvc 服务端发布json数据+android客户端解析json数据
- Android从服务端获取json解析显示在客户端上面
- android 客户端无法解析php服务端返回的json
- 一个简单的json服务端和客户端的例子
- Java Json解析,Java Web Json解析,Java Web服务端获取Json数据,客户端通过HTTP获取Json数据
- json开发的一个细节:服务端及客户端的json所用的jar包不同
- Android客户端与服务端(jsp)之间json的传输与解析【附效果图附源码】
- Android 客户端从服务端获取json数据并解析的实现代码
- C#服务端接收客户端POST过来的Json数据并解析
- 客户端-JSON解析,反解析
- Android客户端与JAVA服务端JSON传值
- json作为客户端调用服务端说明
- jersey--服务端接收客户端json数据
- android客户端通过json连接servlet服务端
- 客户端Mock服务端的JSON数据
- ext异步请求一个aspx/ashx/web service取得数据,服务端返回一个json.然后客户端接收并显示.
- 【 UITextField】- 文本框
- 二叉树遍历方式的转化(递归写法)
- PYTHON学习之路一:WEB开发
- python中range()函数的用法--转载
- [译]MVC or MVP Pattern – Whats the difference?
- 记一个JSON解析,客户端,服务端
- Mac版虚拟机怎么安装win7系统(详细教程)
- Ubuntu r8168模块编译出错问题的解决办法
- 以Java后端为主,同时能够胜任前端、后端、测试、运维、DBA岗位
- (HDU 2859) Phalanx (求最大对称子矩阵) dp
- 用JAVA写一个监测Tomcat是否运行的监测小工具
- DNA序列
- 最小二乘法在飞思卡尔智能车路径搜索中的应用
- 52. 配置 Etag (13)