您的位置:首页 > 移动开发 > Objective-C

使用JSONObject用法

2015-01-27 10:53 351 查看
package com.jia.networktools;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

import com.google.gson.Gson;

public class MainActivity extends Activity implements OnClickListener {
public static final int SHOW_RESPONSE = 0;
private Button sendRequest;
private TextView responseText;
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case SHOW_RESPONSE:
String response = (String) msg.obj;
responseText.setText(response);
}
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sendRequest = (Button) findViewById(R.id.send_request);
responseText = (TextView) findViewById(R.id.response_text);
sendRequest.setOnClickListener(this);
}

@Override
public void onClick(View v) {
if (v.getId() == R.id.send_request) {
sendRequestWithHttpClient();
}

}

private void sendRequestWithHttpClient() {
new Thread(new Runnable() {
@Override
public void run() {
try {
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(
"http://192.168.1.88:8080/jia/get_data.json");
HttpResponse httpResponse = httpClient.execute(httpGet);
/*
* HttpPost httpPost=new HttpPost(
* "http://192.168.1.201:8009/interface.php?action=get_index_xq"
* ); List<NameValuePair>params=new
* ArrayList<NameValuePair>(); params.add(new
* BasicNameValuePair("Goods_id", "1"));
* UrlEncodedFormEntity entity=new
* UrlEncodedFormEntity(params,"utf-8");
* httpPost.setEntity(entity); HttpResponse
* httpResponse=httpClient.execute(httpPost);
*/
if (httpResponse.getStatusLine().getStatusCode() == 200) {
// 请求和响应都成功啦
HttpEntity httpentity = httpResponse.getEntity();
String response = EntityUtils.toString(httpentity,
"utf-8");

Message message = new Message();
message.what = SHOW_RESPONSE;
// 将服务器返回的结果存放到Message中
message.obj = response.toString();
handler.sendMessage(message);
// parseJSONWithGSON(response);
parseJSONWithJSONObject(response);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

private void parseJSONWithGSON(String jsonData) {
Gson gson = new Gson();
// List<App> appList = gson.fromJson(jsonData, new
// TypeToken<List<App>>() {}.getType());
App appList = gson.fromJson(jsonData, App.class);
Log.d("jia",
"Brand_name is----------->" + appList.getBrand_name());
Log.d("jia",
"Goods_burden is----------->"
+ appList.getGoods_burden());
Log.d("jia",
"Goods_degree is----------->"
+ appList.getGoods_degree());
Log.d("jia",
"Goods_img is----------->" + appList.getGoods_img());
Log.d("jia",
"Goods_name is----------->" + appList.getGoods_name());
Log.d("jia",
"Goods_one_price is----------->"
+ appList.getGoods_one_price());
Log.d("jia",
"Goods_place is----------->" + appList.getGoods_place());
Log.d("jia",
"Goods_start_weight is----------->"
+ appList.getGoods_start_weight());
// for (App app : appList) {
// Log.d("jia", "Brand_name is----------->" +
// app.getBrand_name());
// Log.d("jia", "Goods_burden is----------->" +
// app.getGoods_burden());
// Log.d("jia", "Goods_degree is----------->" +
// app.getGoods_degree());
// Log.d("jia", "Goods_img is----------->" +
// app.getGoods_img());
// Log.d("jia", "Goods_name is----------->" +
// app.getGoods_name());
// Log.d("jia", "Goods_one_price is----------->" +
// app.getGoods_one_price());
// Log.d("jia", "Goods_place is----------->" +
// app.getGoods_place());
// Log.d("jia", "Goods_start_weight is----------->" +
// app.getGoods_start_weight());
//
// }
}
}).start();
}

private void parseJSONWithJSONObject(String jsonData) {
try {
JSONArray jsonArray = new JSONArray(jsonData);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String id = jsonObject.getString("id");
String name = jsonObject.getString("name");
String version = jsonObject.getString("version");
Log.d("jia", "id is--------->" + id);
Log.d("jia", "name is-------->" + name);
Log.d("jia", "version is------->" + version);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息