【问题标题】:Parsion JSON String into JSONOBJECT in android [duplicate]在android中将JSON字符串解析为JSONOBJECT [重复]
【发布时间】:2018-02-23 11:02:23
【问题描述】:

这是我的JsonResponse,由于它不在数组中,我面临一些困难,有人可以帮助我吗?在安卓中

{
    "errorno": "0",
    "responsemsg": "Login Success.",
    "busid": "1234",
    "returnmobileno": "1234567890"
}

【问题讨论】:

  • 你面临什么困难?
  • 有什么问题?
  • i am facing some difficulties 那么你显然需要一些改变。
  • @VladyslavMatviienko 谢谢你很有帮助 :) 哈哈

标签: java android


【解决方案1】:

试试这个

try {
 JSONObject lJsonObject = new JSONObject(response);
    String errorno = lJsonObject .getString("errorno");
    String responsemsg = lJsonObject .getString("responsemsg");
    String busid = response.lJsonObject ("busid");
    String returnmobileno = lJsonObject .getString("returnmobileno");



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

【讨论】:

  • 你能告诉我这里的响应指的是什么吗?
  • 你的 JsonResponse
  • 我们可以联系吗?如果你不介意 risabh1450@gmail.com
  • 在 kapilparmar100@gmail.com 上问我
【解决方案2】:

试试这个,

try {
    String errorno = response.getString("errorno");
    String responsemsg = response.getString("responsemsg");
    String busid = response.getString("busid");
    String returnmobileno = response.getString("returnmobileno");

    Log.d(TAG, "errorno:" + errorno+" responsemsg:"+responsemsg+" busid:"+busid+" returnmobileno:"+returnmobileno);

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

【讨论】:

    【解决方案3】:
        use  below code to pass your strong 
        serverData = gson.fromJson(response, ServerData.class);
    
    
        in build.gradle -> dependencies
        // retrofit, gson
            implementation 'com.google.code.gson:gson:2.8.2'
            implementation 'com.squareup.retrofit2:retrofit:2.3.0'
            implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    
    
    
        public class ApiClient {
    
            public static final String SERVER_BASE_URL = "http://example.com/abc/";
            private static Retrofit retrofit = null;
    
    
            public static Retrofit getClient() {
                if (retrofit == null) {
                    retrofit = new Retrofit.Builder()
                            .baseUrl(SERVER_BASE_URL)
                            .addConverterFactory(GsonConverterFactory.create())
                            .build();
                }
                return retrofit;
            }
        }
    
    
    
        public interface ApiInterface {
    
    
            @POST("appServices/getData.php")
            @FormUrlEncoded
            Call<ResponseBody> getAllDataJSONFromServer(@Field("vcode") String vcode);
    
        }
    
    
    
        public class ServerData implements Parcelable {
        public static final Creator<ServerData> CREATOR = new Creator<ServerData>() {
            @Override
            public ServerData createFromParcel(Parcel in) {
                return new ServerData(in);
            }
    
            @Override
            public ServerData[] newArray(int size) {
                return new ServerData[size];
            }
        };
        private static final int VERSION = 1;
    
    
        @SerializedName("errorno")
        private String errorno;
        @SerializedName(responsemsg)
        private String responsemsg;
        @SerializedName("busid")
        private String busid;
        @SerializedName("returnmobileno")
        private String returnmobileno;
    
        private void readFromParcel(Parcel in) {
            if (in.readInt() == VERSION) {
                errorno = in.readString();
                responsemsg = in.readString();
                busid = in.readString();
                returnmobileno = in.readString();
            }
        }
    
        public void writeToParcel(Parcel parcel, int i) {
            parcel.writeInt(VERSION);
            parcel.writeString(errorno);
            parcel.writeString(responsemsg);
            parcel.writeString(busid);
            parcel.writeString(returnmobileno);
        }
    
         @Override
        public int describeContents() {
            return 0;
        }
    
        public String getErrorno() {
            return errorno;
        }
    
        public void setErrorno(String errorno) {
            this.errorno = errorno;
        }
    
        public String getResponsemsg() {
            return responsemsg;
        }
    
        public void setResponsemsg(String responsemsg) {
            this.responsemsg = responsemsg;
        }
    
        public String getBusid() {
            return busid;
        }
    
        public void setBusid(String busid) {
            this.busid = busid;
        }
    
        public String getReturnmobileno() {
            return returnmobileno;
        }
    
        public void setReturnmobileno(String returnmobileno) {
            this.returnmobileno = returnmobileno;
        }
    }
    
    
        ApiInterface apiService = ApiClient.getClient().create(ApiInterface.class);
                    // get and save all data from server
                    Call<ResponseBody> call = apiService.getAllDataJSONFromServer(local_vcode, local_cvcode, pckgName);
                    call.enqueue(new Callback<ResponseBody>() {
    
                        @SuppressWarnings("ConstantConditions")
                        @Override
                        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> responsebody) {
                            try {
                                String response = responsebody.body().string();
                                serverData = gson.fromJson(response, ServerData.class);   // this will fetch data to model class ServerData
    
                                if (serverData != null) {
    
                                // do the rest here...
                                 String vcode = serverData.getVcode();
                                 Log.e("~~~ vode = ", vcode);
                                }
    
                            } catch (Exception e) {
                                e.printStackTrace();
                            } finally {
                                progressDialog.dismiss();
                            }
                        }
    
                        @Override
                        public void onFailure(Call<ResponseBody> call, Throwable t) {
                            try {
                                t.printStackTrace();
                                progressDialog.dismiss();
                            } catch (Exception ignored) {
                            }
                        }
    
                    });
    

    【讨论】:

      猜你喜欢
      • 2013-10-16
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多