无法使用Moshi解析Json String

时间:2018-11-21 14:28:39

标签: jsonparser moshi

我正在尝试使用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())

1 个答案:

答案 0 :(得分:0)

最简单的方法是将值读为字符串,然后从那里解码。您可以使用JsonAdapter使其对应用程序代码透明,例如下面的int foo(){return 0;}

ShowPropertiesContainer.ADAPTER