使用.net创建一个ashx文件,并response.write json格式
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
StringBuilder jsonBuilder = new StringBuilder();
jsonBuilder.Append("{\"parent\":");
jsonBuilder.Append("{\"children\":");
jsonBuilder.Append("[");
jsonBuilder.Append("{\"id\":\"11111\",\"title\":\"aaaaaaa\",\"name\":\"111111111aaaaaaaaaa\"},");
jsonBuilder.Append("{\"id\":\"22222\",\"title\":\"bbbbbbb\",\"name\":\"222222222aaaaaaaaaa\"},");
jsonBuilder.Append("{\"id\":\"33333\",\"title\":\"ccccccc\",\"name\":\"33333333aaaaaaaaaa\"}");
jsonBuilder.Append("]}}");
context.Response.Write(jsonBuilder.ToString());
}
android代码
public class HttpClient_Get_Activity extends Activity {
public TextView myTextView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentView(R.layout.httpget_httpclient_activity);
Button btn = (Button)this.findViewById(R.id.button1);
btn.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
new ReadHttpGet().execute("http://190.160.10.79:7890/handler1.ashx");
}
});
}
class ReadHttpGet extends AsyncTask<Object, Object, Object>
{
@Override
protected Object doInBackground(Object... params) {
// TODO Auto-generated method stub
HttpGet httpRequest = new HttpGet(params[0].toString());
try
{
HttpClient httpClient = new DefaultHttpClient();
HttpResponse httpResponse = httpClient.execute(httpRequest);
if(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
{
String strResult = EntityUtils.toString(httpResponse.getEntity());
return strResult;
}
else
{
return "请求出错";
}
}
catch(ClientProtocolException e)
{
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onCancelled(Object result) {
// TODO Auto-generated method stub
super.onCancelled(result);
}
@Override
protected void onPostExecute(Object result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
try
{
//创建一个JSON对象
JSONObject jsonObject = new JSONObject(result.toString()).getJSONObject("parent");
//获取某个对象的JSON数组
JSONArray jsonArray = jsonObject.getJSONArray("children");
StringBuilder builder = new StringBuilder();
for(int i = 0; i<jsonArray.length(); i++)
{
//新建一个JSON对象,该对象是某个数组里的其中一个对象
JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
builder.append(jsonObject2.getString("id")); //获取数据
builder.append(jsonObject2.getString("title"));
builder.append(jsonObject2.getString("name"));
}
myTextView.setText(builder.toString());
}
catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
//super.onPreExecute();
Toast.makeText(getApplicationContext(), "开始HTTP GET请求", Toast.LENGTH_LONG).show();
}
@Override
protected void onProgressUpdate(Object... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
}
}
}
android中json的浅薄理解
JSONObject 表示形式 {"key" : "value"}
JSONArray 表示形式 [{"key" : "value"},{"key" : "value"},{"key" : "value"}],JSONArray里面包含多个JSONObject
访问时通过 JSONObject对象去访问,使用 jsonObject.getXXX("key")得到相应的值
一般解析JSON都使用这两个。
相关推荐
这个源码示例"Android高级应用源码-通过httpclient获取到JSON数据,展示到ListView.zip"正是关于这个主题的,它演示了如何使用Apache的HttpClient库从服务器获取JSON数据,并解析这些数据以填充一个ListView。...
- JSON解析库:在Android中,通常使用Google的Gson库或org.json库来解析JSON。在这个例子中,假设我们使用org.json库,首先需要将HttpEntity的内容转化为String,然后使用`JSONObject`或`JSONArray`解析JSON数据。...
Android客户端向服务器端请求数据的两种主要方式:HTTPURLConnection、HTTPClient;内含客户端与服务器端Demo(带有详细注释),原生方式解析json数据,希望大家多多批评指教!!
综上所述,这个压缩包的示例项目涵盖了Android网络编程、JSON解析、ListView数据绑定等多个重要知识点,对于学习Android应用开发尤其是网络数据展示部分非常有帮助。通过理解和实践这个项目,开发者可以提升处理网络...
在Android开发中,将通过HTTPClient获取到的JSON数据展示到ListView是一种常见的需求。这个过程涉及到网络请求、JSON解析以及UI绑定等多个环节。下面将详细解释这些知识点。 首先,`HTTPClient`是Apache HttpClient...
总结来说,这个Demo涵盖了Android中获取网络数据的关键技术:使用HttpClient发起HTTP请求,通过JSON解析获取数据,以及使用AsyncTask实现异步加载以避免阻塞主线程。这些技能对于任何需要与服务器交互的Android应用...
这就是使用Android中的HTTPClient库访问服务器并获取JSON数据的基本步骤。注意,Android现在推荐使用更现代的网络库,如OkHttp或Retrofit,因为它们有更好的性能和更丰富的功能。然而,对于学习和理解基础网络通信,...
本教程将专注于使用Apache HttpClient库获取网络数据,然后使用Google的Gson库解析JSON格式的数据。这是一个基础但重要的技能,对于任何想要与服务器进行交互的开发者来说都是必备的。 首先,我们需要了解`...
9. **错误处理**:在获取和解析数据过程中,可能出现网络错误、JSON解析错误等,源码中应包含适当的异常处理代码,提供错误反馈或重试机制。 这个示例代码对于理解和学习Android网络通信、JSON解析以及ListView的...
在Android开发中,从服务器端获取JSON数据并进行解析是一项常见的任务,这涉及到网络通信、数据格式处理以及数据解析等多个方面。以下是对这一过程的详细解释: ### 一、从服务器端获取JSON数据 #### 1. 使用...
在Android应用开发中,HTTP网络请求是连接服务器并获取数据的一种常见方式,特别是在现代移动应用中,通过HTTP接口获取JSON格式的数据尤为普遍。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...
在Android开发中,与服务器进行数据交互是常见的需求,通常我们使用HTTP协议来发送请求,获取JSON格式的数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器...
Android请求服务器和解析数据,包含8个实例代码:android_json,android访问网络返回的XML数据并且进行解析,httpclient获取到JSON数据并展示到ListView,Json数据解析服务器端加客户端代码等等。
这个“android json数据下载与解析demo”涵盖了Android开发中的多个重要概念,包括网络请求、JSON解析、异步操作以及数据展示。通过学习和实践这个示例,开发者可以更好地理解和掌握Android应用中与网络交互和数据...
本文将基于提供的内容,详细介绍如何在Android中通过POST请求获取JSON数据,并对其进行解析。 #### 一、概述 在Android应用开发中,通常需要与后端服务器进行通信来获取或发送数据。这些数据往往以JSON...
"listview中json数据展示"这个主题涉及到如何将从服务器通过HTTP请求获取的JSON数据解析并显示在ListView中。以下是对这个主题的详细阐述: 首先,我们需要理解JSON(JavaScript Object Notation)是一种轻量级的...
总结来说,本示例展示了在Android中如何通过JSON数据访问服务器,利用多线程提高性能,以及如何使用自定义的`JsonUtil`工具类进行JSON解析。这不仅对初学者有很好的学习价值,也为网络编程经验较少的开发者提供了一...
本示例项目"安卓listview相关相关-android客户端请求.netWeb服务端请求后的数据json解析展示在listview上.rar"聚焦于如何从.NET Web服务获取JSON数据,并在Android客户端的ListView中进行解析和展示。以下是关于这一...
在Android中,可以使用`HttpURLConnection`或者`HttpClient`(虽然`HttpClient`在新版本的Android SDK中已被弃用,但在老版本中仍被广泛使用)来发送HTTP请求并获取响应。 在给定的例子中,`HttpUtils`类展示了如何...