Comment convertir HttpEntity en JSON?
je veux récupérer JSON d'un web-service et l'analyser alors.
Suis-je sur la bonne voie?
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response;
try {
response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
if (entity != null) {
// parsing JSON
}
} catch (Exception e) {
}
Malheureusement je ne sais pas comment convertir HttpEntity
dans un JSONObject.
C'est mon JSON (extrait):
{
"names": [
{
"name": "Zachary"
},
{
"name": "Wyatt"
},
{
"name": "William"
}
]
}
21
demandé sur
user1170330
2012-05-29 22:13:21
3 réponses
Vous pouvez convertir string en json comme:
try {
response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
if (entity != null) {
String retSrc = EntityUtils.toString(entity);
// parsing JSON
JSONObject result = new JSONObject(retSrc); //Convert String to JSON Object
JSONArray tokenList = result.getJSONArray("names");
JSONObject oj = tokenList.getJSONObject(0);
String token = oj.getString("name");
}
}
catch (Exception e) {
}
50
répondu
ρяσѕρєя K
2012-05-29 18:43:33
utilisez l'entité.getContent () pour obtenir le flux D'entrée et le convertir en chaîne.
0
répondu
Cristian
2012-05-29 18:17:02
Essayez ceci
public String getMyFeed(){
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclien.execute(httpget);
HttpEntity entity = response.getEntity();
HttpInputStream content = entity.getContent();
StatusLine sl = response.getStatusLine();
int statCode = sl.getStatusCode()
if (statCode ==200){
// process it
}
}
String readFeed = getMyFeed();
JSONArray jArr = new JSONArray(readFeed);
for(int i=0 ; i<jArr.length ; i++)
JSONObject jObj = jArr.getJSONObject(i);
0
répondu
Kumar Vivek Mitra
2012-05-29 18:22:01