如何从android中的webservice获取值

时间:2013-09-07 06:35:27

标签: android json

我在asp.net中编写了一个Web服务,并使用 JSON webservice 在我的android应用程序中调用它。这是我从android

调用Web服务的代码
httpPost request = new HttpPost(url);
request.setHeader("Content-Type","application/json");
request.setEntity(new ByteArrayEntity(json.toString().getBytes("UTF8")));
HttpResponse response = client.execute(request);
String jsonResponse = EntityUtils.toString(response.getEntity());
JSONObject jobj=new JSONObject(jsonResponse);
JSONArray jsonArray=jobj.getJSONArray("d");
result=(String) jobj.getString("d")

我需要从结果中获取每个值。这怎么可能? 我的网络服务结果是: {"d":"{\"Password\":33,\"Userid\":\"343\",\"Username\":fgfg}"}

2 个答案:

答案 0 :(得分:1)

只需删除以下

JSONArray jsonArray=jobj.getJSONArray("d");

因为你的回复中没有任何JSONArray,所以d是唯一的对象,然后剩下的所有值都是字符串,因为所有值都在双引号(“”)......

首先,像下面一样形成你的json:

{"d":{\"Password\":33,\"Userid\":\"343\",\"Username\":fgfg}}

所以,你可以得到,

JSONObject jobj=new JSONObject(jsonResponse);
JSONObject jsonObj=jobj.getJSONObject("d");

现在您可以获得Username的值,如:

String Username = jsonObj.getString("Username");

同样,您也可以获得其他值..

答案 1 :(得分:0)

只做

resultPassword = jsonArray.getString("Password");

那应该有用。显然,为您想要获取的数据的每个ID更改“密码”。