android - 如何仅为我的 ViewHolder 获取 Json 的一部分?(在科特林)
问题描述
我正在使用 recyclerView 并且无法将我的 api 调用(json)的一部分放入我的 ViewHolder 中。我尝试使用 subString()、get(),但无法做到。
这是我的 viewHolder :
holder.fighterRanking.text = rankingData.competitorRankings.toString()
这是我的 Json ,注意:我已经达到了最大字符限制,所以下面的 Json 大约是全部内容的 30%,它还有几个“轻量级”、“轻量级”等对象,我想要只有我的视图持有者中每个“重量级”的“名称”和“等级”:
"generated_at": "2020-05-21T10:35:49+00:00",
"rankings": [
{
"type_id": 13,
"name": "welterweight",
"year": 2020,
"week": 21,
"competitor_rankings": [
{
"rank": 0,
"movement": 0,
"competitor": {
"id": "sr:competitor:273539",
"name": "Usman, Kamaru",
"abbreviation": "USM"
}
},
{
"rank": 1,
"movement": 0,
"competitor": {
"id": "sr:competitor:274653",
"name": "Woodley, Tyron",
"abbreviation": "WOO"
}
},
{
"rank": 2,
"movement": 0,
"competitor": {
"id": "sr:competitor:265079",
"name": "Covington, Colby",
"abbreviation": "COV"
}
},
{
"rank": 3,
"movement": 0,
"competitor": {
"id": "sr:competitor:260633",
"name": "Masvidal, Jorge",
"abbreviation": "MAS"
}
},
{
"rank": 4,
"movement": 0,
"competitor": {
"id": "sr:competitor:256121",
"name": "Edwards, Leon",
"abbreviation": "EDW"
}
},
{
"rank": 5,
"movement": 0,
"competitor": {
"id": "sr:competitor:265063",
"name": "Thompson, Stephen",
"abbreviation": "THO"
}
},
{
"rank": 6,
"movement": 0,
"competitor": {
"id": "sr:competitor:267851",
"name": "Burns, Gilbert",
"abbreviation": "BUR"
}
},
{
"rank": 7,
"movement": 0,
"competitor": {
"id": "sr:competitor:237670",
"name": "Maia, Demian",
"abbreviation": "MAI"
}
},
{
"rank": 8,
"movement": 0,
"competitor": {
"id": "sr:competitor:237628",
"name": "Chiesa, Michael",
"abbreviation": "CHI"
}
},
{
"rank": 9,
"movement": 0,
"competitor": {
"id": "sr:competitor:237634",
"name": "Dos Anjos, Rafael",
"abbreviation": "DOS"
}
},
{
"rank": 10,
"movement": 0,
"competitor": {
"id": "sr:competitor:237632",
"name": "Diaz, Nate",
"abbreviation": "DIA"
}
},
{
"rank": 11,
"movement": 0,
"competitor": {
"id": "sr:competitor:413419",
"name": "Neal, Geoffrey",
"abbreviation": "NEA"
}
},
{
"rank": 12,
"movement": 0,
"competitor": {
"id": "sr:competitor:237666",
"name": "Lawler, Robbie",
"abbreviation": "LAW"
}
},
{
"rank": 13,
"movement": 0,
"competitor": {
"id": "sr:competitor:267863",
"name": "Luque, Vicente",
"abbreviation": "LUQ"
}
},
{
"rank": 14,
"movement": 0,
"competitor": {
"id": "sr:competitor:237676",
"name": "McGregor, Conor",
"abbreviation": "MCG"
}
},
{
"rank": 15,
"movement": 0,
"competitor": {
"id": "sr:competitor:253389",
"name": "Pettis, Anthony",
"abbreviation": "PET"
}
}
]
},
{
"type_id": 14,
"name": "middleweight",
"year": 2020,
"week": 21,
"competitor_rankings": [
{
"rank": 0,
"movement": 0,
"competitor": {
"id": "sr:competitor:410485",
"name": "Adesanya, Israel",
"abbreviation": "ADE"
}
},
{
"rank": 1,
"movement": 0,
"competitor": {
"id": "sr:competitor:253377",
"name": "Whittaker, Robert",
"abbreviation": "WHI"
}
},
{
"rank": 2,
"movement": 0,
"competitor": {
"id": "sr:competitor:320689",
"name": "Costa, Paulo Henrique",
"abbreviation": "COS"
}
},
{
"rank": 3,
"movement": 0,
"competitor": {
"id": "sr:competitor:250133",
"name": "Cannonier, Jared",
"abbreviation": "CAN"
}
},
{
"rank": 4,
"movement": 0,
"competitor": {
"id": "sr:competitor:237704",
"name": "Romero, Yoel",
"abbreviation": "ROM"
}
},
{
"rank": 4,
"movement": 1,
"competitor": {
"id": "sr:competitor:338797",
"name": "Till, Darren",
"abbreviation": "TIL"
}
},
{
"rank": 6,
"movement": 0,
"competitor": {
"id": "sr:competitor:278283",
"name": "Hermansson, Jack",
"abbreviation": "HER"
}
},
{
"rank": 7,
"movement": 0,
"competitor": {
"id": "sr:competitor:268061",
"name": "Gastelum, Kelvin",
"abbreviation": "GAS"
}
},
{
"rank": 8,
"movement": 0,
"competitor": {
"id": "sr:competitor:244098",
"name": "Brunson, Derek",
"abbreviation": "BRU"
}
},
{
"rank": 9,
"movement": 0,
"competitor": {
"id": "sr:competitor:462119",
"name": "Shahbazyan, Edmen",
"abbreviation": "SHA"
}
},
{
"rank": 10,
"movement": 0,
"competitor": {
"id": "sr:competitor:257353",
"name": "Hall, Uriah",
"abbreviation": "HAL"
}
},
{
"rank": 11,
"movement": 0,
"competitor": {
"id": "sr:competitor:284469",
"name": "Tavares, Brad",
"abbreviation": "TAV"
}
},
{
"rank": 12,
"movement": 0,
"competitor": {
"id": "sr:competitor:541995",
"name": "Akhmedov, Omari",
"abbreviation": "AKH"
}
},
{
"rank": 13,
"movement": 0,
"competitor": {
"id": "sr:competitor:465483",
"name": "Heinisch, Ian",
"abbreviation": "HEI"
}
},
{
"rank": 14,
"movement": 0,
"competitor": {
"id": "sr:competitor:248585",
"name": "Carlos Junior, Antonio",
"abbreviation": "CAJ"
}
},
{
"rank": 15,
"movement": 0,
"competitor": {
"id": "sr:competitor:245465",
"name": "Jotko, Krzysztof",
"abbreviation": "JOT"
}
}
]
},
{
"type_id": 15,
"name": "light_heavyweight",
"year": 2020,
"week": 21,
"competitor_rankings": [
{
"rank": 0,
"movement": 0,
"competitor": {
"id": "sr:competitor:253371",
"name": "Jones, Jon",
"abbreviation": "JON"
}
},
{
"rank": 1,
"movement": 0,
"competitor": {
"id": "sr:competitor:347406",
"name": "Reyes, Dominick",
"abbreviation": "REY"
}
},
{
"rank": 2,
"movement": 0,
"competitor": {
"id": "sr:competitor:237712",
"name": "Santos, Thiago",
"abbreviation": "SAN"
}
},
{
"rank": 3,
"movement": 0,
"competitor": {
"id": "sr:competitor:250143",
"name": "Blachowicz, Jan",
"abbreviation": "BLA"
}
},
{
"rank": 4,
"movement": 1,
"competitor": {
"id": "sr:competitor:246017",
"name": "Anderson, Corey",
"abbreviation": "AND"
}
},
{
"rank": 5,
"movement": 3,
"competitor": {
"id": "sr:competitor:250881",
"name": "Teixeira, Glover",
"abbreviation": "TEI"
}
},
{
"rank": 6,
"movement": -2,
"competitor": {
"id": "sr:competitor:244765",
"name": "Smith, Anthony",
"abbreviation": "SMI"
}
},
{
"rank": 7,
"movement": -1,
"competitor": {
"id": "sr:competitor:542115",
"name": "Oezdemir, Volkan",
"abbreviation": "OEZ"
}
},
{
"rank": 8,
"movement": -1,
"competitor": {
"id": "sr:competitor:278293",
"name": "Gustafsson, Alexander",
"abbreviation": "GUS"
}
},
{
"rank": 9,
"movement": 0,
"competitor": {
"id": "sr:competitor:372544",
"name": "Rakic, Aleksandar",
"abbreviation": "RAK"
}
},
{
"rank": 10,
"movement": 0,
"competitor": {
"id": "sr:competitor:256105",
"name": "Krylov, Nikita",
"abbreviation": "KRY"
}
},
{
"rank": 11,
"movement": 0,
"competitor": {
"id": "sr:competitor:511852",
"name": "Walker, Johnny",
"abbreviation": "WAL"
}
},
{
"rank": 12,
"movement": 0,
"competitor": {
"id": "sr:competitor:265089",
"name": "Cirkunov, Misha",
"abbreviation": "CIR"
}
},
{
"rank": 13,
"movement": 1,
"competitor": {
"id": "sr:competitor:449135",
"name": "Spann, Ryan",
"abbreviation": "SPA"
}
},
{
"rank": 14,
"movement": -1,
"competitor": {
"id": "sr:competitor:419867",
"name": "Ankalaev, Magomed",
"abbreviation": "ANK"
}
},
{
"rank": 15,
"movement": 0,
"competitor": {
"id": "sr:competitor:257355",
"name": "Rua, Mauricio",
"abbreviation": "RUA"
}
}
]
},
{
"type_id": 16,
"name": "heavyweight",
"year": 2020,
"week": 21,
"competitor_rankings": [
{
"rank": 0,
"movement": 0,
"competitor": {
"id": "sr:competitor:237684",
"name": "Miocic, Stipe",
"abbreviation": "MIO"
}
},
{
"rank": 1,
"movement": 0,
"competitor": {
"id": "sr:competitor:253373",
"name": "Cormier, Daniel",
"abbreviation": "COR"
}
},
{
"rank": 2,
"movement": 0,
"competitor": {
"id": "sr:competitor:250145",
"name": "Ngannou, Francis",
"abbreviation": "NGA"
}
},
{
"rank": 3,
"movement": 0,
"competitor": {
"id": "sr:competitor:542009",
"name": "Blaydes, Curtis",
"abbreviation": "BLA"
}
},
{
"rank": 4,
"movement": 0,
"competitor": {
"id": "sr:competitor:237636",
"name": "Dos Santos, Junior",
"abbreviation": "DOS"
}
},
{
"rank": 4,
"movement": 1,
"competitor": {
"id": "sr:competitor:542099",
"name": "Lewis, Derrick",
"abbreviation": "LEW"
}
},
{
"rank": 6,
"movement": 0,
"competitor": {
"id": "sr:competitor:542143",
"name": "Rozenstruik, Jairzinho",
"abbreviation": "ROZ"
}
},
{
"rank": 7,
"movement": 0,
"competitor": {
"id": "sr:competitor:542161",
"name": "Volkov, Alexander",
"abbreviation": "VOL"
}
},
{
"rank": 8,
"movement": 0,
"competitor": {
"id": "sr:competitor:237694",
"name": "Overeem, Alistair",
"abbreviation": "OVE"
}
},
{
"rank": 9,
"movement": 0,
"competitor": {
"id": "sr:competitor:254231",
"name": "Harris, Walt",
"abbreviation": "HAR"
}
},
{
"rank": 10,
"movement": 0,
"competitor": {
"id": "sr:competitor:542117",
"name": "Oleinik, Aleksei",
"abbreviation": "OLE"
}
},
{
"rank": 11,
"movement": 0,
"competitor": {
"id": "sr:competitor:244080",
"name": "Abdurakhimov, Shamil",
"abbreviation": "ABD"
}
},
{
"rank": 12,
"movement": 0,
"competitor": {
"id": "sr:competitor:542079",
"name": "Ivanov, Blagoy",
"abbreviation": "IVA"
}
},
{
"rank": 13,
"movement": 0,
"competitor": {
"id": "sr:competitor:542145",
"name": "Sakai, Augusto",
"abbreviation": "SAK"
}
},
{
"rank": 14,
"movement": 0,
"competitor": {
"id": "sr:competitor:515358",
"name": "Pavlovich, Sergey",
"abbreviation": "PAV"
}
},
{
"rank": 15,
"movement": 0,
"competitor": {
"id": "sr:competitor:257349",
"name": "Werdum, Fabricio",
"abbreviation": "WER"
}
}
]
}
如果有人能指出我正确的方向或只是全力帮助我,我将不胜感激,谢谢!
解决方案
推荐阅读
- delphi - 如何在 Delphi/Firemonkey 中破坏 ITask
- environment-variables - 属性类型“Int”与其包装器类型“EnvironmentObject”的“wrappedValue”属性不匹配
- java - 我可以将文件放入没有字符串类型的数组列表中吗?
- python - 我正在使用 QSqlDatabase 和 QTableView 来显示一个表,但是 GUI 以某种方式显示一个空表(甚至没有标题)
- c++ - vulkan验证层问题
- amazon-web-services - 使用 PutRecords 将多条记录加载到 Kinesis - 如何在失败的情况下仅重新发送失败的记录?
- javascript - 得到像 Too many re-renders 这样的错误。React 限制渲染次数以防止无限循环
- javascript - 获取 ES6 循环的前一项
- javascript - 如何解析数据类型函数 Array() { [native code] }
- sql - 结合3个SELECT语句输出1个表