首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Kotlin:遍历JSONArray

Kotlin:遍历JSONArray
EN

Stack Overflow用户
提问于 2016-03-24 01:16:38
回答 4查看 59.9K关注 0票数 92

我正在使用Kotlin和Realm编写一个Android应用程序。我有一个JSONArray,我想遍历这个数组中的JSONObjects,以便将它们加载到一个领域数据库类中:

Realm类:

代码语言:javascript
复制
import io.realm.RealmObject
import io.realm.annotations.PrimaryKey
import io.realm.annotations.Required

open class Person(

        @PrimaryKey open var id: Long = 0,

        @Required
        open var name: String = ""

) : RealmObject() {

}

JSONArray:

代码语言:javascript
复制
{
    "persons":[
        {
           "id":0,
           "name":"Biatrix"
        },
        {
           "id":1,
           "name":"Bill"
        },
        {
           "id":2,
           "name":"Oren"
        },
        {
           "id":3,
           "name":"Budd"
        }
    ]
}

我试着像下面这样迭代:

代码语言:javascript
复制
for (item : JSONObject in persons) {

}

..。但是我得到了一个for-loop range must have an iterator() method错误。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-03-24 01:49:31

不幸的是,JsonArray没有公开迭代器。因此,您必须使用索引范围对其进行迭代:

代码语言:javascript
复制
for (i in 0 until persons.length()) {
    val item = persons.getJSONObject(i)

    // Your code here
}
票数 182
EN

Stack Overflow用户

发布于 2018-11-29 12:06:19

怎么样

代码语言:javascript
复制
(0..(jsonArray.length()-1)).forEach { i ->
    var item = jsonArray.getJSONObject(i)
}
票数 4
EN

Stack Overflow用户

发布于 2019-06-20 21:35:44

代码语言:javascript
复制
for (i in 0 until jsonArray.length()){
    //do your stuff
    }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36184641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档