我在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}"}
答案 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更改“密码”。