изменить тип возвращаемого значения list.map из списка в JsonArray - PullRequest
0 голосов
/ 20 января 2020

Я ищу способ изменить тип возврата функции .map из списка на JsonArray (google gson).

Например,

    val a = listOf("Sui", "Pran").map {
        "Hello $it"
    }

, этот код возвращает List<String> но я бы хотел, чтобы он возвращал JsonArray (google gson). Я не хочу foreach и добавлять по одному, было бы хорошо использовать lambda, .map etc...

спасибо

1 Ответ

2 голосов
/ 20 января 2020

Gson, кажется, не имеет встроенного способа сделать это. Вы можете написать свою собственную функцию, чтобы сделать это:

fun Iterable<String>.toJsonArray() = 
    map { JsonPrimitive(it) }.fold(JsonArray()) { acc, el -> acc.apply { add(el) } }
...