android的JsonParser不工作
我有一个android的JsonParser不工作,android,json,Android,Json,我有一个JSONObjectlike 我编写了一个JSON解析器,但它不起作用。我知道问题出在解析器中,因为我的列表没有发送任何空错误。这是我的解析器: class exTourParser { ArrayList<GroupTour> Parse(JSONArray mainArray){ final String SITE_NAME="sitename"; final String TOURNOMENT_SPEED = "sp
JSONObject
like
我编写了一个JSON
解析器,但它不起作用。我知道问题出在解析器中,因为我的列表没有发送任何空错误。这是我的解析器:
class exTourParser {
ArrayList<GroupTour> Parse(JSONArray mainArray){
final String SITE_NAME="sitename";
final String TOURNOMENT_SPEED = "speed";
final String HOUR = "hour";
final String BUY_IN = "buyin";
final String MINUTE = "min";
final String REPLAY = "replay";
final String GAME_MODE = "gamemode";
final String PRIZE = "prize";
final String DAY = "day";
final String REBUY = "rebuy";
final String LATE_REG = "latereg";
final String ADD_ON = "addon";
final String TIME = "time";
ArrayList<GroupTour> groupTours = new ArrayList<>();
for (int i =0 ;i>mainArray.length();i++){
try {
JSONArray subArray = mainArray.getJSONArray(i);
for (int j = 0; j>subArray.length(); j++){
JSONObject object = subArray.getJSONObject(i);
ChildTour child =new ChildTour();
GroupTour group = new GroupTour();
child.setSiteName(object.getString(SITE_NAME));
child.setTournomentSpeed(object.getString(TOURNOMENT_SPEED));
child.setHour(object.getInt(HOUR));
child.setMin(object.getInt(MINUTE));
child.setBuyIn(object.getString(BUY_IN));
child.setReply(object.getString(REPLAY));
child.setGameMode(object.getString(GAME_MODE));
child.setPrize(object.getString(PRIZE));
child.setDay(object.getString(DAY));
child.setReBuy(object.getString(REBUY));
child.setLateReg(object.getInt(LATE_REG));
child.setAddon(object.getString(ADD_ON));
child.setTime(object.getString(TIME));
group.setChildNumbers(subArray.length());
group.setName(object.getString(SITE_NAME));
group.setTours(child);
groupTours.add(group);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
return groupTours;
}
}
试试这个
JSONObject jsonObject = new JSONObject(response);
try {
JSONArray jsonArray = jsonObject.getJSONArray("tours");
Log.e("=>", "" + jsonArray);
for (int i = 0; i < jsonArray.length(); i++) {
JSONArray value = jsonArray.getJSONArray(i);
for (int j = 0; j < value.length(); j++) {
JSONObject obj2 = value.getJSONObject(i);
String sitename = obj2.getString("sitename");
String speed = obj2.getString("speed");
String hour = obj2.getString("hour");
String min = obj2.getString("min");
String buyin = obj2.getString("buyin");
String replay = obj2.getString("replay");
String gamemode = obj2.getString("gamemode");
String prize = obj2.getString("prize");
String day = obj2.getString("day");
String rebuy = obj2.getString("rebuy");
String latereg = obj2.getString("latereg");
String addon = obj2.getString("addon");
String time = obj2.getString("time");
}
}
} catch (JSONException e) {
e.printStackTrace();
}
JSONObject JSONObject=新的JSONObject(响应);
试一试{
JSONArray JSONArray=jsonObject.getJSONArray(“tours”);
Log.e(“=>”,“+jsonArray”);
for(int i=0;i
试试这个
JSONObject jsonObject = new JSONObject(response);
try {
JSONArray jsonArray = jsonObject.getJSONArray("tours");
Log.e("=>", "" + jsonArray);
for (int i = 0; i < jsonArray.length(); i++) {
JSONArray value = jsonArray.getJSONArray(i);
for (int j = 0; j < value.length(); j++) {
JSONObject obj2 = value.getJSONObject(i);
String sitename = obj2.getString("sitename");
String speed = obj2.getString("speed");
String hour = obj2.getString("hour");
String min = obj2.getString("min");
String buyin = obj2.getString("buyin");
String replay = obj2.getString("replay");
String gamemode = obj2.getString("gamemode");
String prize = obj2.getString("prize");
String day = obj2.getString("day");
String rebuy = obj2.getString("rebuy");
String latereg = obj2.getString("latereg");
String addon = obj2.getString("addon");
String time = obj2.getString("time");
}
}
} catch (JSONException e) {
e.printStackTrace();
}
JSONObject JSONObject=新的JSONObject(响应);
试一试{
JSONArray JSONArray=jsonObject.getJSONArray(“tours”);
Log.e(“=>”,“+jsonArray”);
for(int i=0;i
您的外部是JSONObject而不是JSONArray。像下面那样解析它
private void parse(String jsonString){
try{
JSONObject jsonObject=new JSONObject(jsonString);
JSONArray dataArray=jsonObject.getJSONArray("tours");
for (int i = 0; i < dataArray.length(); i++) {
JSONArray obj = dataArray.getJSONArray(i);
for (int j = 0; j < obj.length(); j++) {
JSONObject obj2 = obj.getJSONObject(i);
// Parse here
}
}
}catch (JSONException e){
e.printStackTrace();
}
}
private void解析(字符串jsonString){
试一试{
JSONObject JSONObject=新的JSONObject(jsonString);
JSONArray dataArray=jsonObject.getJSONArray(“tours”);
对于(int i=0;i
您的外部是JSONObject而不是JSONArray。像下面那样解析它
private void parse(String jsonString){
try{
JSONObject jsonObject=new JSONObject(jsonString);
JSONArray dataArray=jsonObject.getJSONArray("tours");
for (int i = 0; i < dataArray.length(); i++) {
JSONArray obj = dataArray.getJSONArray(i);
for (int j = 0; j < obj.length(); j++) {
JSONObject obj2 = obj.getJSONObject(i);
// Parse here
}
}
}catch (JSONException e){
e.printStackTrace();
}
}
private void解析(字符串jsonString){
试一试{
JSONObject JSONObject=新的JSONObject(jsonString);
JSONArray dataArray=jsonObject.getJSONArray(“tours”);
对于(int i=0;i
使用Gson库解析此json最简单的方法
compile 'com.google.code.gson:gson:2.8.1'
使用think解析
你会得到像这样的pojo课程
1.ToursModel.Java
public class ToursModel {
@SerializedName("tours")
@Expose
private List<List<Tour>> tours = null;
public List<List<Tour>> getTours() {
return tours;
}
public void setTours(List<List<Tour>> tours) {
this.tours = tours;
}
}
public class Tour {
@SerializedName("sitename")
@Expose
private String sitename;
@SerializedName("speed")
@Expose
private String speed;
@SerializedName("hour")
@Expose
private Integer hour;
@SerializedName("min")
@Expose
private Integer min;
@SerializedName("buyin")
@Expose
private String buyin;
@SerializedName("replay")
@Expose
private String replay;
@SerializedName("gamemode")
@Expose
private String gamemode;
@SerializedName("prize")
@Expose
private String prize;
@SerializedName("day")
@Expose
private String day;
@SerializedName("rebuy")
@Expose
private String rebuy;
@SerializedName("latereg")
@Expose
private Integer latereg;
@SerializedName("addon")
@Expose
private String addon;
@SerializedName("time")
@Expose
private String time;
@SerializedName("tournamet")
@Expose
private String tournamet;
public String getSitename() {
return sitename;
}
public void setSitename(String sitename) {
this.sitename = sitename;
}
public String getSpeed() {
return speed;
}
public void setSpeed(String speed) {
this.speed = speed;
}
public Integer getHour() {
return hour;
}
public void setHour(Integer hour) {
this.hour = hour;
}
public Integer getMin() {
return min;
}
public void setMin(Integer min) {
this.min = min;
}
public String getBuyin() {
return buyin;
}
public void setBuyin(String buyin) {
this.buyin = buyin;
}
public String getReplay() {
return replay;
}
public void setReplay(String replay) {
this.replay = replay;
}
public String getGamemode() {
return gamemode;
}
public void setGamemode(String gamemode) {
this.gamemode = gamemode;
}
public String getPrize() {
return prize;
}
public void setPrize(String prize) {
this.prize = prize;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
public String getRebuy() {
return rebuy;
}
public void setRebuy(String rebuy) {
this.rebuy = rebuy;
}
public Integer getLatereg() {
return latereg;
}
public void setLatereg(Integer latereg) {
this.latereg = latereg;
}
public String getAddon() {
return addon;
}
public void setAddon(String addon) {
this.addon = addon;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getTournamet() {
return tournamet;
}
public void setTournamet(String tournamet) {
this.tournamet = tournamet;
}
}
解析json之后,您必须像这样使用解析
Gson mGson=new Gson;
ToursModel toursModel=new ArrayList();
example=mGson.fromJson("json object string",ToursModel.class);
toursModel.get(0).getSitename();
如上所述,您可以使用Gson库访问响应pojo。以最简单的方式解析此json
compile 'com.google.code.gson:gson:2.8.1'
使用think解析
你会得到像这样的pojo课程
1.ToursModel.Java
public class ToursModel {
@SerializedName("tours")
@Expose
private List<List<Tour>> tours = null;
public List<List<Tour>> getTours() {
return tours;
}
public void setTours(List<List<Tour>> tours) {
this.tours = tours;
}
}
public class Tour {
@SerializedName("sitename")
@Expose
private String sitename;
@SerializedName("speed")
@Expose
private String speed;
@SerializedName("hour")
@Expose
private Integer hour;
@SerializedName("min")
@Expose
private Integer min;
@SerializedName("buyin")
@Expose
private String buyin;
@SerializedName("replay")
@Expose
private String replay;
@SerializedName("gamemode")
@Expose
private String gamemode;
@SerializedName("prize")
@Expose
private String prize;
@SerializedName("day")
@Expose
private String day;
@SerializedName("rebuy")
@Expose
private String rebuy;
@SerializedName("latereg")
@Expose
private Integer latereg;
@SerializedName("addon")
@Expose
private String addon;
@SerializedName("time")
@Expose
private String time;
@SerializedName("tournamet")
@Expose
private String tournamet;
public String getSitename() {
return sitename;
}
public void setSitename(String sitename) {
this.sitename = sitename;
}
public String getSpeed() {
return speed;
}
public void setSpeed(String speed) {
this.speed = speed;
}
public Integer getHour() {
return hour;
}
public void setHour(Integer hour) {
this.hour = hour;
}
public Integer getMin() {
return min;
}
public void setMin(Integer min) {
this.min = min;
}
public String getBuyin() {
return buyin;
}
public void setBuyin(String buyin) {
this.buyin = buyin;
}
public String getReplay() {
return replay;
}
public void setReplay(String replay) {
this.replay = replay;
}
public String getGamemode() {
return gamemode;
}
public void setGamemode(String gamemode) {
this.gamemode = gamemode;
}
public String getPrize() {
return prize;
}
public void setPrize(String prize) {
this.prize = prize;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
public String getRebuy() {
return rebuy;
}
public void setRebuy(String rebuy) {
this.rebuy = rebuy;
}
public Integer getLatereg() {
return latereg;
}
public void setLatereg(Integer latereg) {
this.latereg = latereg;
}
public String getAddon() {
return addon;
}
public void setAddon(String addon) {
this.addon = addon;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getTournamet() {
return tournamet;
}
public void setTournamet(String tournamet) {
this.tournamet = tournamet;
}
}
解析json之后,您必须像这样使用解析
Gson mGson=new Gson;
ToursModel toursModel=new ArrayList();
example=mGson.fromJson("json object string",ToursModel.class);
toursModel.get(0).getSitename();
如上所述,您可以访问响应pojo。不工作是一个模糊的术语。向我们展示您面临的异常或问题..您面临的错误是什么?您是否在数组中使用了数组?作为响应,首先,json以
jsonObject
而不是jsonArray
开始,因此为了使其工作,首先需要提取jsonObjectfirst@OsaironBest请检查我下面的答案。不工作是一个模糊的术语。向我们展示您面临的异常或问题..您面临的错误是什么?您是否在数组中使用了数组?作为响应,首先,json以jsonObject
而不是jsonArray
开始,因此为了使其工作,首先需要提取jsonObjectfirst@OsaironBest请检查我下面的答案。这个答案有什么问题。在第二次for循环之后,我写了Log.i(some,value.toString());但是什么也没发生对不起糟糕的英语你可以试试(int j=0;j