android - 如何在不创建包含其他数据类的数据类的情况下从 API 请求中获取特定数据?
问题描述
例如:{ "error": false, "message": "", "code": "", "ver": "v1.0.0", "base": "https://,,,,,,, ,,.com/", "count": 1, "updated": "2020-10-28T19:40:51+03:00", "data": [ { "id": "44", "slug" :“人力资源”,“名称”:“人力资源”,“img1”:空,“img2”:“page_44/1560347480_2.jpg”,“日期”:“2019-05-31”,“des”: “'vvvvvv.v”,“sendMail”:“info@....”,“iframe_url”:“ff/ff”}]}
这是 api json 响应。我只想要 "data": [] 值,而不是其余的。有没有一种方法可以避免为整个 api 响应创建数据类,而只是请求“数据”:[..] 值?
我正在使用 Android Studio Kotlin Retrofit Moshi
解决方案
如果我正确理解您的问题,您只想从该 JSON 字符串中提取数据。你可以这样做:
JSONArray dataArray;
try {
dataArray = new JSONObject(yourString).optJSONArray("data");
} catch (JSONException e) {
// whatever
}
for (int i = 0; i < dataArray.length(); ++i) {
// do whatever you want with each object:
String name = dataArray.optJSONObject(i).optString("name");
}
推荐阅读
- performance - Blazor WebAssembly 反序列化甚至比下载慢得多?怎么了?
- java - 流 API。将Model类的String字段的所有值收集到一个集合中,打印
- java - 使用 Everit 进行 JSON 验证中的外部引用会产生“FileNotFoundException”
- java - 我的画布没有绘制我试图绘制的所有矩形
- reactjs - React Bootstrap 进度条计算颜色
- java - 如何安排计时器在每个月的 10 日运行一次?
- html - 如何解决奇怪的@media 冲突?
- azure-active-directory - Azure AD 应用注册:AAD 与 Web 和 SPA 重定向 URI 的行为方式有何不同
- r - 如何在R中的另一组列下方组合列组
- excel - Excel - Copying a Range (multiple Rows) and pasting and end of another sheet