如何通过GSON / Retrofit获得价值?

时间:2018-09-30 09:27:02

标签: android json gson retrofit2

如何使用GSON / Retrofit提取“文本”的值?

    {
       code: 200,
       lang: "en-ms",
       text: [
           "Burung"
       ]
    }

4 个答案:

答案 0 :(得分:1)

制作给定响应的POJO类,并将其注册到改造回调中,并在getter和setter的帮助下获取值。

答案 1 :(得分:1)

文字类似地图。您需要使用

创建pojo
@SerializedName("code")
    @Expose
    private int mCode;

@SerializedName("lang")
    @Expose
    private String mLang;

@SerializedName("text")
    @Expose
    private Map <String, List<String> mText;

使用工厂(GsonFactory)创建改造。并实例化此pojo。

p.s:您还可以为对象创建serializator和deserializator

答案 2 :(得分:0)

您可以将所有对象存储在json中,并使用以下代码放入数组:

JSONArray texts = new JSONObject(json).getJSONArray("text");

答案 3 :(得分:0)

1创建模型类

def getIndex(b, desc):
    for i in range(len(b)):
        if b[0] is desc:
            return i

for i in range(len(A)):
    A[i].append(B[getIndex(B, A[1])][1] + A[i][2])

}

2在改造方法响应中:

public class ResponseItem {

/**
 * code : 200
 * lang : en-ms
 * text : ["Burung"]
 */

private int code;
private String lang;
private List<String> text;

public int getCode() {
    return code;
}

public void setCode(int code) {
    this.code = code;
}

public String getLang() {
    return lang;
}

public void setLang(String lang) {
    this.lang = lang;
}

public List<String> getText() {
    return text;
}

public void setText(List<String> text) {
    this.text = text;
}

您可以通过说出responseitem.Get(“您想从模型类中得到什么”)来调用文本