{"success":true,"errorMsg":"","result":{"rShipmentLists":[{"gasdescatthattime":"矿泉水","gasidatthattime":15,"count":1}],"rSendDetails":[{"affectCompName":"江岳公司","gasIdAtThattime":15,"gasDescAtThattime":"矿泉水","bottleSendCount":1,"bottleBackCount":1,"bottleSendCountAndDetail":{"count":1,"rNumberDetails":[{"number":"910000157"}]},"bottleBackCountAndDetail":{"count":1,"rNumberDetails":[{"number":"910000115"}]}}],"rBackShipmentLists":[{"gasdescatthattime":"矿泉水","gasidatthattime":15,"count":1}]}}
这样的对象?
private List<RShipmentList> rShipmentLists;
private List<RSendDetail> rSendDetails;
private List<RShipmentList> rBackShipmentLists;麻烦提供下解析的办法,工具
这样的对象?
private List<RShipmentList> rShipmentLists;
private List<RSendDetail> rSendDetails;
private List<RShipmentList> rBackShipmentLists;麻烦提供下解析的办法,工具
String str = "{"URL":["url1","url2","url3"],"Title":["title1","title2","title3"]}";
try {
JSONObject object = new JSONObject(str);
JSONArray urlArray = object.getJSONArray("URL");
JSONArray titleArray = object.getJSONArray("Title");
for (int i = 0; i < urlArray.length(); i++) {
System.out.println(titleArray.getString(i));
}
} catch (JSONException e) {
e.printStackTrace();
}
/**
* success : true
* errorMsg :
* result : {"rShipmentLists":[{"gasdescatthattime":"矿泉水","gasidatthattime":15,"count":1}],"rSendDetails":[{"affectCompName":"江岳公司","gasIdAtThattime":15,"gasDescAtThattime":"矿泉水","bottleSendCount":1,"bottleBackCount":1,"bottleSendCountAndDetail":{"count":1,"rNumberDetails":[{"number":"910000157"}]},"bottleBackCountAndDetail":{"count":1,"rNumberDetails":[{"number":"910000115"}]}}],"rBackShipmentLists":[{"gasdescatthattime":"矿泉水","gasidatthattime":15,"count":1}]}
*/ private boolean success;
private String errorMsg;
private ResultBean result; public boolean isSuccess() {
return success;
} public void setSuccess(boolean success) {
this.success = success;
} public String getErrorMsg() {
return errorMsg;
} public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
} public ResultBean getResult() {
return result;
} public void setResult(ResultBean result) {
this.result = result;
} public static class ResultBean {
private List<RShipmentListsBean> rShipmentLists;
private List<RSendDetailsBean> rSendDetails;
private List<RBackShipmentListsBean> rBackShipmentLists; public List<RShipmentListsBean> getRShipmentLists() {
return rShipmentLists;
} public void setRShipmentLists(List<RShipmentListsBean> rShipmentLists) {
this.rShipmentLists = rShipmentLists;
} public List<RSendDetailsBean> getRSendDetails() {
return rSendDetails;
} public void setRSendDetails(List<RSendDetailsBean> rSendDetails) {
this.rSendDetails = rSendDetails;
} public List<RBackShipmentListsBean> getRBackShipmentLists() {
return rBackShipmentLists;
} public void setRBackShipmentLists(List<RBackShipmentListsBean> rBackShipmentLists) {
this.rBackShipmentLists = rBackShipmentLists;
} public static class RShipmentListsBean {
/**
* gasdescatthattime : 矿泉水
* gasidatthattime : 15
* count : 1
*/ private String gasdescatthattime;
private int gasidatthattime;
private int count; public String getGasdescatthattime() {
return gasdescatthattime;
} public void setGasdescatthattime(String gasdescatthattime) {
this.gasdescatthattime = gasdescatthattime;
} public int getGasidatthattime() {
return gasidatthattime;
} public void setGasidatthattime(int gasidatthattime) {
this.gasidatthattime = gasidatthattime;
} public int getCount() {
return count;
} public void setCount(int count) {
this.count = count;
}
} public static class RSendDetailsBean {
/**
* affectCompName : 江岳公司
* gasIdAtThattime : 15
* gasDescAtThattime : 矿泉水
* bottleSendCount : 1
* bottleBackCount : 1
* bottleSendCountAndDetail : {"count":1,"rNumberDetails":[{"number":"910000157"}]}
* bottleBackCountAndDetail : {"count":1,"rNumberDetails":[{"number":"910000115"}]}
*/ private String affectCompName;
private int gasIdAtThattime;
private String gasDescAtThattime;
private int bottleSendCount;
private int bottleBackCount;
private BottleSendCountAndDetailBean bottleSendCountAndDetail;
private BottleBackCountAndDetailBean bottleBackCountAndDetail; public String getAffectCompName() {
return affectCompName;
} public void setAffectCompName(String affectCompName) {
this.affectCompName = affectCompName;
} public int getGasIdAtThattime() {
return gasIdAtThattime;
} public void setGasIdAtThattime(int gasIdAtThattime) {
this.gasIdAtThattime = gasIdAtThattime;
} public String getGasDescAtThattime() {
return gasDescAtThattime;
} public void setGasDescAtThattime(String gasDescAtThattime) {
this.gasDescAtThattime = gasDescAtThattime;
} public int getBottleSendCount() {
return bottleSendCount;
} public void setBottleSendCount(int bottleSendCount) {
this.bottleSendCount = bottleSendCount;
} public int getBottleBackCount() {
return bottleBackCount;
} public void setBottleBackCount(int bottleBackCount) {
this.bottleBackCount = bottleBackCount;
} public BottleSendCountAndDetailBean getBottleSendCountAndDetail() {
return bottleSendCountAndDetail;
} public void setBottleSendCountAndDetail(BottleSendCountAndDetailBean bottleSendCountAndDetail) {
this.bottleSendCountAndDetail = bottleSendCountAndDetail;
} public BottleBackCountAndDetailBean getBottleBackCountAndDetail() {
return bottleBackCountAndDetail;
} public void setBottleBackCountAndDetail(BottleBackCountAndDetailBean bottleBackCountAndDetail) {
this.bottleBackCountAndDetail = bottleBackCountAndDetail;
} public static class BottleSendCountAndDetailBean {
/**
* count : 1
* rNumberDetails : [{"number":"910000157"}]
*/ private int count;
private List<RNumberDetailsBean> rNumberDetails; public int getCount() {
return count;
} public void setCount(int count) {
this.count = count;
} public List<RNumberDetailsBean> getRNumberDetails() {
return rNumberDetails;
} public void setRNumberDetails(List<RNumberDetailsBean> rNumberDetails) {
this.rNumberDetails = rNumberDetails;
} public static class RNumberDetailsBean {
/**
* number : 910000157
*/ private String number; public String getNumber() {
return number;
} public void setNumber(String number) {
this.number = number;
}
}
} public static class BottleBackCountAndDetailBean {
/**
* count : 1
* rNumberDetails : [{"number":"910000115"}]
*/ private int count;
private List<RNumberDetailsBeanX> rNumberDetails; public int getCount() {
return count;
} public void setCount(int count) {
this.count = count;
} public List<RNumberDetailsBeanX> getRNumberDetails() {
return rNumberDetails;
} public void setRNumberDetails(List<RNumberDetailsBeanX> rNumberDetails) {
this.rNumberDetails = rNumberDetails;
} public static class RNumberDetailsBeanX {
/**
* number : 910000115
*/ private String number; public String getNumber() {
return number;
} public void setNumber(String number) {
this.number = number;
}
}
}
} public static class RBackShipmentListsBean {
/**
* gasdescatthattime : 矿泉水
* gasidatthattime : 15
* count : 1
*/ private String gasdescatthattime;
private int gasidatthattime;
private int count; public String getGasdescatthattime() {
return gasdescatthattime;
} public void setGasdescatthattime(String gasdescatthattime) {
this.gasdescatthattime = gasdescatthattime;
} public int getGasidatthattime() {
return gasidatthattime;
} public void setGasidatthattime(int gasidatthattime) {
this.gasidatthattime = gasidatthattime;
} public int getCount() {
return count;
} public void setCount(int count) {
this.count = count;
}
}
}
}
public boolean success;
public String errorMsg;
public ResultEntry result;
}public class ResultEntry {
public List<ShipmentEntry> rShipmentLists;
public List<SendDetailEntry> rSendDetails;
public List<BackShipmentEntry> rBackShipmentLists;
}public class ShipmentEntry {
public String gasdescatthattime;
public int gasidatthattime;
public float count;
}public class SendDetailEntry {
public String affectCompName;
public int gasIdAtThattime;
public String gasDescAtThattime;
public float bottleSendCount;
public float bottleBackCount;
public BottleSendCountAndDetailEntry bottleSendCountAndDetail;
public BottleBackCountAndDetailEntry bottleBackCountAndDetail;
}public class BottleSendCountAndDetailEntry {
public float count;
public List<NumberDetailEntry> rNumberDetails;
}public class NumberDetailEntry {
public String number;
}public class BottleBackCountAndDetailEntry {
public float count;
public List<NumberDetailEntry> rNumberDetails;
}public class BackShipmentEntry {
public String gasdescatthattime;
public String gasidatthattime;
public float count;
}toObject:版本自选,getJSONString返回你的json字符串
1、 build.gradle(Module) : implementation 'com.google.code.gson:gson:2.8.5'
2、 ResponseEntry response = new GsonBuilder().create().fromJson(getJSONString(),
new TypeToken<ResponseEntry>() {
}.getType());
val errorMsg: String,
val result: Result,
val success: Boolean
)data class Result(
val rBackShipmentLists: List<RBackShipmentLists>,
val rSendDetails: List<RSendDetail>,
val rShipmentLists: List<RShipmentLists>
)data class RBackShipmentLists(
val count: Int,
val gasdescatthattime: String,
val gasidatthattime: Int
)data class RShipmentLists(
val count: Int,
val gasdescatthattime: String,
val gasidatthattime: Int
)data class RSendDetail(
val affectCompName: String,
val bottleBackCount: Int,
val bottleBackCountAndDetail: BottleBackCountAndDetail,
val bottleSendCount: Int,
val bottleSendCountAndDetail: BottleSendCountAndDetail,
val gasDescAtThattime: String,
val gasIdAtThattime: Int
)data class BottleBackCountAndDetail(
val count: Int,
val rNumberDetails: List<RNumberDetailX>
)data class RNumberDetail(
val number: String
)data class BottleSendCountAndDetail(
val count: Int,
val rNumberDetails: List<RNumberDetail>
)data class RNumberDetailX(
val number: String
)
var nice ="\"success\":true,\"errorMsg\":\"\",\"result\":{\"rShipmentLists\":[{\"gasdescatthattime\":\"矿泉水\",\"gasidatthattime\":15,\"count\":1}],\"rSendDetails\":[{\"affectCompName\":\"江岳公司\",\"gasIdAtThattime\":15,\"gasDescAtThattime\":\"矿泉水\",\"bottleSendCount\":1,\"bottleBackCount\":1,\"bottleSendCountAndDetail\":{\"count\":1,\"rNumberDetails\":[{\"number\":\"910000157\"}]},\"bottleBackCountAndDetail\":{\"count\":1,\"rNumberDetails\":[{\"number\":\"910000115\"}]}}],\"rBackShipmentLists\":[{\"gasdescatthattime\":\"矿泉水\",\"gasidatthattime\":15,\"count\":1}]}}"// val turnsType = object : TypeToken<dataNice>() {}.type
// val turns = Gson().fromJson<dataNice>(nice, turnsType) //解析 inline fun <reified T> genericType() = object: TypeToken<T>() {}.type fun parseJson(str:String){
val bean = Gson().fromJson(nice, dataNice::class.javaObjectType)
val turnsType = genericType<List<dataNice>>()
}kotlin 给你写了一个和java 一样的 三种解析实体类自己工具直接实现超级快的 https://blog.csdn.net/trineashao/article/details/78601631