我有一个这样的JSON文档:
{
cards: [{name: "Foo"}, {name: "Bar"}]
}如何让moshi只解析属性卡下的数组?
发布于 2020-07-11 20:17:56
首先,您在Jason中有一个错误。
card => "card“.
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类:
public class BlackjackHand {
public final List<Card> cards;
public BlackjackHand(List<Card> cards) {
this.cards = cards;
}
}类卡:
public class Card {
public final String name;
public final String name1;
public Card(String name, String name1) {
this.name = name;
this.name1 = name1;
}
}发布于 2020-08-02 22:43:20
我们用json列表名称创建一个数据类,并用@Json指定它,它将是一个列表,我们已经以列表的形式接收到了数据。
data class Model(@Json(name = "name") val name: String)
data class ModelList(@Json(name = "cards") val cards: List<Model>)https://stackoverflow.com/questions/62847888
复制相似问题