2017-07-01 6 views
-1

私はJavaApiを使ってアンドロイドのサーバーからデータを取得するのに新しいです。 以前はデータベースからデータを取得するために.phpファイルを使用していました。アンドロイドの配列を持たないJSonResponse

私の質問は メートル以下のような配列せずにJSONレスポンスを取得している:私たちは通常、配列値を取得し、それの.phpで

この応答から

{"data":{"param1":true,"param2":3,"param3":"NULL"},"success":"1"} 

と私はPARAM2の値を取得したいですjsonResponseでは簡単に動作しますが、Java APIでは配列の値が取得できません。

応答文字列を配列に変換してからparam値を取得しようとしましたが、機能しませんでした。

はまた、溶液の検索が、これを行うにはどのように任意のソリューション

を見つけることができませんでした?

答えて

1
{"data":{"param1":true,"param2":3,"param3":"NULL"},"success":"1"} 

ここデータ JsonObject値に

を持っているので、JSONレスポンスからデータを取得するには、この方法を試してみてください。この

try { 
     JSONObject obj=new JSONObject("{\"data\":{\"param1\":true,\"param2\":3,\"param3\":\"NULL\"},\"success\":\"1\"}"); 

     JSONObject data=obj.getJSONObject("data"); 

     //getting param2 from data 

     int param2=data.getInt("param2"); 

    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
1

のようなJSONをパース:

String response = responseString; 

    JSONObject jsonRes = null; 
    try { 
     jsonRes = new JSONObject(response); 
     String valSuccess = jsonRes.getString("success"); 
     JSONObject dataObj = jsonRes.getJSONObject("data"); 

     String parm1Val = dataObj.getString("param1"); 
     String parm2Val = dataObj.getString("param2"); 
     String parm3Val = dataObj.getString("param3"); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
関連する問題