1

我想创建一个帮助类来帮助我将任何对象序列化为 json,反之亦然。我试图谷歌但没有任何相关。也许我不知道要搜索的正确术语是什么。这是我到目前为止所做的工作..

public class Serializer {
private static Moshi moshi;

public Serializer(){
    moshi = new Moshi.Builder().build();
}

public static <T> T parse(String json) throws IOException {
    JsonAdapter<T> adapter = moshi.adapter(T); 
    // error at adapter(T): "Expression expected"
    return adapter.fromJson(json);
}

@NonNull
public static <T> String stringify(T obj){
    JsonAdapter<T> adapter = moshi.adapter(T); 
    // same error as the above 
    return adapter.toJson(obj);
}
}

如果我想做的事情没有用,我是否必须在我的每一堂课上做toJson()和做?fromJson

4

1 回答 1

2

您需要为该moshi.adapter()方法提供一个类对象:

public final class Serializer {
    private static Moshi moshi = new Moshi.Builder().build();

    public static <T> T parse(String json, Class<T> objClass) throws IOException {
        JsonAdapter<T> adapter = moshi.adapter(objClass); 
        return adapter.fromJson(json);
    }

    @NonNull
    public static <T> String stringify(T obj, Class<T> objClass) {
        JsonAdapter<T> adapter = moshi.adapter(objClass); 
        return adapter.toJson(obj);
    }
}
于 2017-11-29T15:24:23.320 回答