2017-08-22 16 views
-1

サーバーからデータを送受信したいとします。このため私はVolleyを使用しました。コードは以下にあります。 VolleyJsonフォーマットのデータを受信できます。サーバーはJson形式のデータを送受信できます。このJsonデータをユーザーが読めるJAVA形式に変換するにはどうすればいいですか?他のクラスには約10のメソッドがあります。以下のクラスには、ネットワークコールのメソッドが含まれており、MainActivityと対話します。別のクラスでサーバーの応答がjson形式です

public class Api_Volley { 
    String data; 
    String flag; 
    public void my_volley_post (String url , JSONObject jsonObject , final Context context) { 
     JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url , jsonObject , new Response.Listener(){ 
      @Override 
      public void onResponse(Object response) { 

       String flag = response.toString(); 
       Toast.makeText(context , flag , Toast.LENGTH_LONG).show(); 
      } 
     },new Response.ErrorListener(){ 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       Toast.makeText(context , "Wrong" , Toast.LENGTH_LONG).show(); 
       error.printStackTrace(); 
      } 
     }); 
     ApiVolleySingeltonClass.getInstance(context).addToRequestque(jsonObjectRequest); 
    } 
} 

方法:[{ "ID": "1"、 "名前"

public void showAllOrderByUserId() { 
     try { 
      data_args.put("userId", 2); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
     try { 
      data_action.put("action", "showAllOrderByUserId"); 
      data_action.put("args", data_args); 
     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     route = "/order"; 
     new Api_Volley().my_volley_post(addUserUrl + route, data_action, context); 
    } 

答えて

0

この

public class Post { 
    long id; 
    Date dateCreated; 
    String title; 
    String author; 
    String url; 
    String body; 
    } 
のようなあなたの応答形式を作成します。

これはあなたのエンティティ

 Post post = gson.fromJson(response, Post.class)); 


     },new Response.ErrorListener(){ 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       Toast.makeText(context , "Wrong" , Toast.LENGTH_LONG).show(); 
       error.printStackTrace(); 
      } 
     }); 
     ApiVolleySingeltonClass.getInstance(context).addToRequestque(jsonObjectRequest); 
    } 
+0

なります

public void my_volley_post (String url , JSONObject jsonObject , final Context context) { JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url , jsonObject , new Response.Listener(){ @Override public void onResponse(String response) { GsonBuilder gsonBuilder = new GsonBuilder(); gson = gsonBuilder.create(); 

//以下のような要求を行った後、おかげでそれがコーディング幸せ –

+0

@OsamaBillah仕事だ仲間 –

0
  1. あなたは

    { "userNodesは" のようなJSONデータを使用することができます: "Enamul Haque"}]}

  2. ボレーのようなボレーを使用できます

    あなたはJSONを解析し、必要に応じて表示するように持っている必要があり
    private void doLoginAction() { 
    
    
        String url_login = "http://www.lineitopkal.com/android/login.php"; 
    
    
    StringRequest stringRequest = new StringRequest(Request.Method.POST, url_login, 
    new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 
         //pDialog.dismiss(); 
    
    
         try { 
          JSONObject jsonObject = new JSONObject(response); 
          JSONArray loginNodes = jsonObject.getJSONArray("userNodes"); 
          for (int i = 0; i < loginNodes.length(); i++) { 
           JSONObject jo = loginNodes.getJSONObject(i); 
           String id = jo.getString("id"); 
           Log.e("id ::",id);         
           String name = jo.getString("name"); 
           Log.e("name ::",name); 
    
    
          } 
         } catch (JSONException e) { 
          e.printStackTrace(); 
          } 
    
    
         } 
        }, 
        new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
    
         try { 
    
          if (error instanceof TimeoutError) { 
           //Time out error 
    
          }else if(error instanceof NoConnectionError){ 
           //net work error 
    
          } else if (error instanceof AuthFailureError) { 
           //error 
    
          } else if (error instanceof ServerError) { 
           //Erroor 
          } else if (error instanceof NetworkError) { 
           //Error 
    
          } else if (error instanceof ParseError) { 
           //Error 
    
          }else{ 
           //Error 
          } 
          //End 
    
    
         } catch (Exception e) { 
    
    
         } 
    
         } 
        }) { 
    @Override 
    protected Map<String, String> getParams() { 
        Map<String, String> params = new HashMap<>(); 
        //Post parameter like bellow 
        params.put("uname", "[email protected]"); 
        params.put("pass", "123456"); 
    
    
    
        return params; 
        } 
    
        }; 
    
        RequestQueue requestQueue = Volley.newRequestQueue(this); 
        requestQueue.add(stringRequest); 
        } 
    
0

これにより、あなたはGSON POJOクラスにJSONに変換する(その簡単) 使用このサイトを使用することができます。 Click here

これらは、使用して実装することができます参照サイトです:

http://www.vogella.com/tutorials/JavaLibrary-Gson/article.html

https://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html

https://kylewbanks.com/blog/tutorial-parsing-json-on-android-using-gson-and-volley

関連する問題