android - Json 解析与 gson 不工作

标签 android json gson

这是我的 JSON 字符串:

[{"BranchID":1,"SecurityCode1":13,"SecurityCode2":14,"PrintHeight":10,"PrintWidth":10,"Active":true}]

这是我用来解析 JSON 的代码:

Type t = new TypeToken<List<Setting>>() {
}.getClass();

String json =  ServiceHelper.getJSON(response); 
List<Setting> list = (List<Setting>) gson.fromJson(json, t); 
    //list is null which it souldnt

这是Setting类,Entity是ORMDroid实体类:

public class Setting extends Entity {

@Column(name = "id", primaryKey = true)
@SerializedName("BranchID")
public int BranchID;

public int securityCodeLPK;
public int securityCodeSDK;

@SerializedName("PrintHeight")
public int PrintHeight;

@SerializedName("PrintWidth")
public int PrintWidth;

@SerializedName("Active")
public String Active;

@SerializedName("SecurityCode1")
public String SecurityCode1;

@SerializedName("SecurityCode2")
public String SecurityCode2;

public Setting(int BranchID, int height, int width, String active, String securityCode1, String securityCode2) {
    super();
    BranchID = BranchID;
    PrintHeight = height;
    PrintWidth = width;
    Active = active;
    SecurityCode1 = securityCode1;
    SecurityCode2 = securityCode2;
}

public Setting () {
    super();
}

}

好像没问题,但是gson.FromJson后面的list是null。这段代码有什么问题?

请帮忙

最佳答案

您应该使用 getType() 而不是 getClass()

Type t = new TypeToken<List<Setting>>() {}.getType();

关于android - Json 解析与 gson 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15297839/

相关文章:

android - RecyclerView 不能应用于 FlexboxLayoutManager

android - ListView OnScrollListener 不会在 ViewPager 中被调用

java - TensorFlow 标签号与轴上的形状不匹配

javascript - 使用 Express 路由将 json 文件传递​​给客户端

javascript - 如何在 Angular 中动态查询 JSON 对象?

java - 如何将 ArrayList 模型更改为 JSON

java - 为什么我无法将包从 fragment 传递到 Activity

javascript - React - 在 api 调用之前填充数据?

java - Spring Jackson将json对象转换为java数组

java - gson 的多态性