получить список проанализированных элементов json - PullRequest
0 голосов
/ 08 марта 2019

Я проанализировал строку json для следующей структуры объекта, используя gson:

data class Base (
        val expand: String,
        val startAt: Long,
        val maxResults: Long,
        val total: Long,
        val issues: List<Issue>
)

data class Issue (
        val expand: String,
        val id: String,
        val self: String,
        val key: String,
        val fields: Fields
)

data class Fields (
        val summary: String,
        val issuetype: Issuetype,
        val customfield10006: Long? = null,
        val created: String,
        val customfield11201: String? = null,
        val status: Status,
        val customfield10002: Customfield10002? = null,
        val customfield10003: String? = null
)

Все работает нормально, а объектная модель верна, потому что я могу получить доступ к каждому элементу объекта. Однако я столкнулся с проблемой, заключающейся в том, что я не знаю, как получить список всех элементов поля. Сейчас я только выяснил, как получить доступ к одному элементу (используя функцию index и get () -):

val baseObject = gson.fromJson(response, Base::class.java)
val fieldsList = baseObject.issues.get(0).fields

Я действительно хочу иметь список всех элементов поля, а не только один. Есть ли функция gson, позволяющая мне это сделать? Я не смог найти ничего об этом в документации по Java для Java.

1 Ответ

1 голос
/ 09 марта 2019

Вам не нужно искать какую-то функцию gson, когда вы уже создали baseObject.Вам просто нужно получить из каждого issue его полей, и вы можете использовать функцию map, чтобы добиться этого, он преобразует каждую проблему в новый тип, чтобы вы могли получить поля проблем там

val fieldFromAllIssues: List<Fields> = baseObject.issues.map { it.fields }

it в этом контексте является одной проблемой.Больше объяснений о it здесь здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...