Kot*_*boy 9 string android json kotlin
我的主要活动中有以下代码:
var qNa_list = parseQuestions(loadJSONFromAsset("qna_list.json"))
fun loadJSONFromAsset(file_name:String): String? {
    var json: String? = null
    try {
        val isis = assets.open(file_name)
        val size = isis.available()
        val buffer = ByteArray(size)
        isis.read(buffer)
        isis.close()
        json = String(buffer, "UTF-8")
    } catch (ex: IOException) {
        ex.printStackTrace()
        return null
    }
    return json
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它时,我收到以下错误.
我修复了由于nullables引起的其他一些错误,但这个是我无法解码的.
错误:(127,35)类型不匹配:推断类型是String但是预期是Charset
我已将一些值更改为可为空以适应错误,但json = String(buffer, "UTF-8")(UTF-8)始终以红色下划线.
Kot*_*boy 28
这似乎解决了这个问题.
看来我需要指定Charset类型对象而不是像字符串那样UTF-8.
@MarošŠeleng提到的第一种方法
Charset.forName("UTF-8")
Run Code Online (Sandbox Code Playgroud)
或者,指定 Charset.UTF_8
val charset: Charset = Charsets.UTF_8
json = String(buffer, charset)
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           5667 次  |  
        
|   最近记录:  |