首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Moshi转换器阵列

Moshi转换器阵列
EN

Stack Overflow用户
提问于 2020-07-11 18:19:45
回答 2查看 102关注 0票数 0

我有一个这样的JSON文档:

代码语言:javascript
复制
{ 
  cards: [{name: "Foo"}, {name: "Bar"}]
}

如何让moshi只解析属性卡下的数组?

EN

回答 2

Stack Overflow用户

发布于 2020-07-11 20:17:56

首先,您在Jason中有一个错误。

card => "card“.

代码语言:javascript
复制
      String jsonResponseBody  = "{\n" +
            "    \"cards\": [\n" +
            "        {\n" +
            "            \"name\": \"Foo\"\n" +
            "        },\n" +
            "        {\n" +
            "            \"name1\": \"Bar\"\n" +
            "        }\n" +
            "    ]\n" +
            "}";

    Moshi moshi = new Moshi.Builder().build();
    JsonAdapter<BlackjackHand> jsonAdapter = moshi.adapter(BlackjackHand.class);

    try {
        BlackjackHand blackjackHand = jsonAdapter.fromJson(jsonResponseBody);
        System.out.println(blackjackHand);
        Log.e("TAG", "onCreate: "+blackjackHand.cards.get(0).name +"");
        Log.e("TAG", "onCreate: "+blackjackHand.cards.get(0).name1 +"");
    } catch (IOException e) {
        e.printStackTrace();
    }

BlackjackHand类:

代码语言:javascript
复制
    public class BlackjackHand {
    public final List<Card> cards;


    public BlackjackHand(List<Card> cards) {
        this.cards = cards;
    }
}

类卡:

代码语言:javascript
复制
public class Card {
    public final String name;
    public final String name1;

    public Card(String name, String name1) {
        this.name = name;
        this.name1 = name1;
    }
}
票数 0
EN

Stack Overflow用户

发布于 2020-08-02 22:43:20

我们用json列表名称创建一个数据类,并用@Json指定它,它将是一个列表,我们已经以列表的形式接收到了数据。

代码语言:javascript
复制
data class Model(@Json(name = "name") val name: String)

data class ModelList(@Json(name = "cards") val cards: List<Model>)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62847888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档