我正在尝试使用Moshi解析Json响应,我的问题是密钥的值是Json包装在String上:
{"mobile_accounts_account_showProperties":"[{\"name\": \"current\"},{\"name\": \"available\"}]"}
这是我的课程
@Json(name = "mobile_accounts_account_showProperties")
private List<PropertyConfig> showProperties;
我尝试在解析之前用replace("\"[", "[")
和replace("\\", "")
删除(“”),但这不是一个选择,因为这会删除我确实需要的其他一些引号。我尝试使用JsonAdapter,但无法正常工作。 JsonAdapter没有接到电话。
public class PropertyConfigJsonAdapter {
public PropertyConfigJsonAdapter() {
}
@ToJson
String toJson(List<PropertyConfig> card) {
return "";
}
@FromJson
List<PropertyConfig> fromJson(String object) {
return new ArrayList<>();
}
我尝试这样做以查看JsonAdapter是否正在获得调用,但它从未调用过“ fromJson”方法。这是我如何称呼适配器:
MoshiConverterFactory.create(new Moshi.Builder().add(new PropertyConfigJsonAdapter()).build())
答案 0 :(得分:0)
最简单的方法是将值读为字符串,然后从那里解码。您可以使用JsonAdapter使其对应用程序代码透明,例如下面的int foo(){return 0;}
。
ShowPropertiesContainer.ADAPTER