2

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")

結果から各値を取得する必要があります。それはどのように可能ですか?私のWebサービスの結果は次のとおりです。 {"d":"{\"Password\":33,\"Userid\":\"343\",\"Username\":fgfg}"}

4

2 に答える 2

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");

次のようにユーザー名の値を取得できるようになりました。

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

同様に、他の値も取得できます..

于 2013-09-07T06:57:42.283 に答える
0

やるだけ

resultPassword = jsonArray.getString("Password");

それはうまくいくはずです。もちろん、取得したいデータのIDごとに「パスワード」を変更してください。

于 2013-09-07T06:41:39.623 に答える