Android 如何从JSON文件中获取数据?

Android 如何从JSON文件中获取数据?,android,json,kotlin,Android,Json,Kotlin,您好,我在从JSON文件获取数据时遇到问题。实际上,在我使用这种格式之前: {"country":"US","Money":"Dollars US"} 为了得到结果,我在内部类中以AsyncTask的名称执行了以下操作: override fun onProgressUpdate(vararg values: String?) { try{ var json = JSONObject(values[0]) var country

您好,我在从JSON文件获取数据时遇到问题。实际上,在我使用这种格式之前:

{"country":"US","Money":"Dollars US"}
为了得到结果,我在内部类中以AsyncTask的名称执行了以下操作:

override fun onProgressUpdate(vararg values: String?) {
        try{
            var json = JSONObject(values[0])
            var country = json.getString("country")
            test1.text = "Country is "+country
            }catch(ex:Exception){}
    }
但现在格式不同了我有这样一个:

["US", "Dollars US"]
我不知道如何修改AsyncTask类来获取数据


谢谢你的帮助

我似乎不太清楚您的问题,但假设这是json文件中唯一的数据

[“美元”、“美元”]

您应该像这样更新您的函数:

override fun onProgressUpdate(vararg values: String?) {
    try{
        var json = JSONArray(values[0])  //since it is a array now and not a object
        var country = json.getString(0)  //Oth position of the JSON array will give you the country name
        test1.text = "Country is "+country
        }catch(ex:Exception){}
}

我似乎不太清楚您的问题,但假设这是json文件中唯一的数据

[“美元”、“美元”]

您应该像这样更新您的函数:

override fun onProgressUpdate(vararg values: String?) {
    try{
        var json = JSONArray(values[0])  //since it is a array now and not a object
        var country = json.getString(0)  //Oth position of the JSON array will give you the country name
        test1.text = "Country is "+country
        }catch(ex:Exception){}
}

它是一个JSONArray,所以您可以使用
var json=JSONArray(值[0])
它是一个JSONArray,所以您可以使用
var json=JSONArray(值[0])