從文件中讀取內容轉成json字符串
//從文件中讀取內容轉成json字符串
private fun file2JsonStr(fileName: String): String? {
val stringBuilder = StringBuilder()
try {
val assetManager: AssetManager = getApplication<Application>().assets
val isr = InputStreamReader(assetManager.open(fileName))
val bf = BufferedReader(isr)
var line: String?
while (bf.readLine().also { line = it } != null) {
stringBuilder.append(line)
}
bf.close()
isr.close()
return stringBuilder.toString()
} catch (e: IOException) {
e.printStackTrace()
}
return null
}
json字符串轉列表
//json字符串轉列表
private fun jsonStr2List(jsonStr: String?): ArrayList<JsonBean> {
val list = ArrayList<JsonBean>()
val data = JSONArray(jsonStr)
val gson = Gson()
for (i in 0 until data.length()) {
val entity: JsonBean =
gson.fromJson(data.optJSONObject(i).toString(), JsonBean::class.java)
list.add(entity)
}
return list
}
引用方法示例如下:
//xxxx.json是文件名,通常放在assesst文件夾下面
val jsonStr = file2JsonStr("xxxx.json")
val dataList = jsonStr2List(jsonStr)
獲取到了dataList 信息之後,就可以使用dataList .xxx獲取你需要的數據了
json文件放置位置