package
tuo.json;
import
java.io.BufferedReader;
import
java.io.IOException;
import
java.io.InputStreamReader;
import
java.net.URI;
import
java.net.URISyntaxException;
import
org.apache.http.HttpEntity;
import
org.apache.http.HttpResponse;
import
org.apache.http.client.ClientProtocolException;
import
org.apache.http.client.HttpClient;
import
org.apache.http.client.methods.HttpGet;
import
org.apache.http.client.methods.HttpPost;
import
org.apache.http.entity.StringEntity;
import
org.apache.http.impl.client.DefaultHttpClient;
import
org.apache.http.message.BasicHeader;
import
org.apache.http.protocol.HTTP;
import
org.json.JSONArray;
import
org.json.JSONException;
import
org.json.JSONObject;
import
com.guc.android.nurse.activity.R.string;
public
class
JsonTruck {
public
String getJsonString(String wcfUrl)
throws
Exception {
HttpClient httpClient =
new
DefaultHttpClient();
HttpGet request =
new
HttpGet();
request.setURI(
new
URI(wcfUrl));
HttpResponse response = httpClient.execute(request);
return
parseHttpResponse(response);
}
public
String parseHttpResponse(HttpResponse response)
throws
Exception {
String jsonString=
""
;
int
status = response.getStatusLine().getStatusCode();
if
(status ==
200
) {
BufferedReader bReader =
new
BufferedReader(
new
InputStreamReader(
response.getEntity().getContent()));
StringBuffer sb =
new
StringBuffer(
""
);
String line =
""
;
String NL = System.getProperty(
"line.separator"
);
while
((line = bReader.readLine()) !=
null
) {
sb.append(line + NL);
}
jsonString = sb.toString();
bReader.close();
}
return
jsonString;
}
public
JSONObject getJson(String wcfUrl,String jsonObjName)
throws
Exception {
String jsonString=getJsonString(wcfUrl);
JSONObject jsonObject =
new
JSONObject(jsonString);
return
jsonObject.getJSONObject(jsonObjName);
}
public
JSONArray getJsons(String wcfUrl,String jsonObjName)
throws
Exception{
JSONObject jsonObject=
new
JSONObject(getJsonString(wcfUrl));
return
jsonObject.getJSONArray(jsonObjName);
}
public
String doPost(String wcfUrl,JSONObject jsonObject)
throws
Exception {
HttpClient httpClient =
new
DefaultHttpClient();
HttpResponse response;
HttpPost post=
new
HttpPost();
HttpEntity httpEntity;
StringEntity stringEntity=
new
StringEntity(jsonObject.toString());
stringEntity.setContentEncoding(
new
BasicHeader(HTTP.CONTENT_TYPE,
"application/json"
));
httpEntity=stringEntity;
post.setEntity(httpEntity);
post.setURI(
new
URI(wcfUrl));
post.setHeader(
"Content-type"
,
"application/json"
);
response=httpClient.execute(post);
return
parseHttpResponse(response);
}
}
相关推荐
在Java开发中,HTTPClient和RESTful风格的接口被广泛用于实现文件的上传与下载功能。HTTPClient是一个强大的HTTP客户端库,而RESTful是一种轻量级的、基于HTTP协议的软件架构风格,常用于构建Web服务。在分布式系统...
"httpclient post json数据"这个主题就是关于如何使用C#的HttpClient类来向Web API发送POST请求,并且以JSON格式传输数据。下面将详细解释这一过程。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的...
Android客户端向服务器端请求数据的两种主要方式:HTTPURLConnection、HTTPClient;内含客户端与服务器端Demo(带有详细注释),原生方式解析json数据,希望大家多多批评指教!!
在本示例中,HttpClient被用来从服务器获取数据,这些数据通常是JSON格式,这是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。 首先,我们需要了解如何使用Android的HttpClient。在...
以下是如何使用`HttpClient`发送JSON的示例: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; ...
在Android开发中,将通过HTTPClient获取到的JSON数据展示到ListView是一种常见的需求。这个过程涉及到网络请求、JSON解析以及UI绑定等多个环节。下面将详细解释这些知识点。 首先,`HTTPClient`是Apache HttpClient...
使用HttpClient4.3版本,使用Springmvc的restful方式访问后台的服务
在这个场景中,我们关注的是如何使用HttpClient来发送POST请求并传输JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于API接口的数据传递。 首先,我们需要引入Apache HttpClient...
标题 "WIFI_HTTPClient_ArduinoJson擷取_esp32_源码" 描述了一个基于Arduino的项目,该项目涉及使用ESP32微控制器通过HTTP客户端库获取JSON数据,并利用ArduinoJson库解析这些数据。这个过程对于物联网(IoT)开发至关...
本示例源码展示了如何利用Apache HttpClient库获取JSON数据,并将其解析后填充到ListView中。以下将详细介绍这一过程的关键步骤。 1. **HTTP请求**: - Apache HttpClient:在Android API 23之前,HttpClient是...
本文主要讨论如何使用HttpClient发送JSON格式和普通参数类型的POST请求。首先,我们来看一下所需的Maven依赖。 ```xml <groupId>commons-httpclient <artifactId>commons-httpclient <version>3.1 <groupId>...
在使用Apache HttpClient进行HTTP通信时,可能会遇到"HttpClient问题:The server failed to respond with a valid HTTP resp"这样的异常。这个错误通常表示服务器未能返回一个有效的HTTP响应,这可能是由多种原因...
这个源码示例"Android高级应用源码-通过httpclient获取到JSON数据,展示到ListView.zip"正是关于这个主题的,它演示了如何使用Apache的HttpClient库从服务器获取JSON数据,并解析这些数据以填充一个ListView。...
当我们需要上传文件或同时发送键值对(包括复杂的数据结构如JSON)时,通常会使用`multipart/form-data`和JSON这两种数据格式。下面我们将深入探讨如何在C#中实现这两种数据格式的POST请求。 一、`multipart/form-...
首先,我们需要引入HttpClient的相关依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.httpcomponents <artifactId>httpclient <version>4.5.13 ``` 接下来,我们...
在实际应用中,使用HttpClient进行JSON数据传输可能会涉及更多细节,如连接池管理、重试策略、超时设置等。要深入理解HttpClient的用法,可以参考官方文档或博客(如给出的链接),学习更多高级特性和最佳实践。
在这个项目中,文件"HTTPClient"和"HttpServer"可能是分别实现了客户端和服务器端的源代码文件。通过阅读和理解这些代码,你可以深入学习到如何在VC++中实现HTTP通信,以及如何处理网络数据的发送和接收。 总之,...
在展示JSON数据时,我们首先需要将JSON数据转换成可适配的数据模型,然后用`ArrayAdapter`或自定义的`BaseAdapter`绑定到ListView上。 4. **Asynchronous HTTP Client**:考虑到异步处理的重要性,通常会在后台线程...