Как десериализовать строку в объект в android

как десериализовать строку ниже в android. Я пробовал ниже

String json= ls.get(j).getCwc();
Example example = new Gson().fromJson(json,Example.class);

Json

[{
  "company":"gjjzh",
  "AvgSal":"hjsj"
},
{
  "company":"hjd",
  "AvgSal":"hjd"
},
{
  "company":"hm",
  "AvgSal":"lk"
},
{
  "company":"er",
  "AvgSal":"io"
},
{
  "company":"uo",
  "AvgSal":"tr"
}]

почему бы вам не автоматизировать его с помощью модернизации или подобной библиотеки

Oskar Kaczmarek 05.04.2018 13:08

Возможный дубликат Как разобрать JSON в Java

Rohit5k2 05.04.2018 13:10
1
2
390
2

Ответы 2

String json= ls.get(j).getCwc();
Type type = new TypeToken<List<Example>>(){}.getType();
List<Example> example = new Gson().fromJson(json,type);

где Example - это

public class Example {

@SerializedName("company")
@Expose
private String company;
@SerializedName("AvgSal")
@Expose
private String avgSal;

public String getCompany() {
return company;
}

public void setCompany(String company) {
this.company = company;
}

public String getAvgSal() {
return avgSal;
}

public void setAvgSal(String avgSal) {
this.avgSal = avgSal;
}

}

Вам нужно будет создать класс модели для объекта.

Example.java

public class Example{
    String company = "";
    String AvgSal = "";
}

а затем вам нужно написать код, как показано ниже, для преобразования строки JSONArray в List<Model>.

String json= ls.get(j).getCwc();
Type modelListType = new TypeToken<ArrayList<Example>>(){}.getType();
ArrayList<Example> modelList = new Gson().fromJson(json, modelListType);

Это преобразует JSONArray в ArrayList.

Другие вопросы по теме