提问者:小点点

我可以从Kotlin中的同一个json对象获得json对象的名称吗?


我尝试使用json对象更新sharePreference值。首先创建带有name的json对象,然后在SharedPreference中更新该对象。但是,我无法获得json对象名。请帮帮我.

 team1.put("name", "India")
 updateData(team1)

 private fun updateData(data: JSONObject) {
    val sharedPref: SharedPreferences = getSharedPreferences("SharedPref1", 0)
    val editor:SharedPreferences.Editor =  sharedPref.edit()
    editor.putString("JSONObjectName",data.toString()) // How to get the JSONObject name?

} 

我想像这个,data.name==team1


共1个答案

匿名用户

参考您的代码,您希望获得名为'name'的属性。对吧?

你必须这样做:

private fun updateData(data: JSONObject) {

    val name = data.getString("name")

    val sharedPref: SharedPreferences = getSharedPreferences("SharedPref1", 0)
    val editor:SharedPreferences.Editor =  sharedPref.edit()

    editor.putString("JSONObjectName", name)
}

在访问JSONObject之前,不要忘记检查它是否包含一个名为'name'的属性,以避免崩溃;)