2016-09-30 5 views
-2

JSONの解析で問題が発生しましたmodel.classユーザーがユーザー名とパスワードの入力を要求するアンドロイドアプリを作成しています。ボタンをクリックするとPOSTリクエストが送信されます。 JSONデータによる応答ここでJSONのAndroidでの解析

はアンドロイドスタジオで私の要求です:

//StudentInfo or Login 
    client.post("<url here>", params, new AsyncHttpResponseHandler() { 

     @Override 
     public void onSuccess(String response) { 
      try{ 
        StudentModel sm = new StudentModel(obj); 
        sm.retrievalData(); 
        flag = true; 
        Toast.makeText(getApplicationContext(), "Redirecting...", Toast.LENGTH_LONG).show(); 
        navigatetoProfileActivity(); 
       } 
      }catch(Exception e){ 
       Toast.makeText(getApplicationContext(), "Error Occured [Server's JSON response might be invalid]!", Toast.LENGTH_LONG).show(); 
       e.printStackTrace(); 
      } 
     } 
    }); 

そして、ここでは私のStudentModel.class

public void retrievalData(){ 
//some code to parse the JSON 



} 

あるまあ、私は、JSONの解析で初心者です、ここでJSONレスポンスです。

{ 
    "info": { 
    "add": "<data>", 
    "firstName": "<data>", 
    "lastName": "<data>", 
    "middleName": "<data>", 
    } 
} 

答えて

0

さて、何をretrievalData()で行うことができますすることです。

String add = <JSONobjectVariableName>.getJSONObject("info").getString("add"); 
String firstName = <JSONobjectVariableName>.getJSONObject("info").getString("firstName"); 

のように。 Google/Gsonの依存関係を追加する必要があります

String json; //the response 

Gson gson = new Gson(); 
Student s = gson.fromJson(json, Student.class); 

+0

あなたは 'getJsonObject(" info ")'を意味すると思いますか? –

2

まあ、JavaでオブジェクトにJSONsを解析する最も一般的な方法は以下の通りです。あなたが応答で受け取ったJSONがあなたのStudentクラスの表現である場合、上記はうまくいくでしょう。

+1

Gsonは具体的に何ですか?しかし、私はすでに上記のコードを使用してJSONを解析しました。ヒントをありがとう、これは私がGSONに遭遇した場合に役立つ可能性があります。 – Peps

+1

Gsonは最も一般的なJava JSON解析ライブラリです。 JSONにオブジェクトを簡単に解析させる静的メソッドが複数あり、その逆もあります。 – xenteros