【问题标题】:how to Deserialize string into object in android如何将字符串反序列化为android中的对象
【发布时间】:2018-04-05 11:04:39
【问题描述】:

如何在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"
}]

【问题讨论】:

标签: android arrays json gson


【解决方案1】:
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;
}

}

【讨论】:

    【解决方案2】:

    您需要为对象创建一个模型类。

    Example.java

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

    然后您需要编写如下代码将JSONArray字符串转换为List&lt;Model&gt;

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

    这会将JSONArray 转换为ArrayList

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-15
      • 2018-11-01
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多