基于Android平台开发,校园二手交易服务端
import android.content.Context
import android.util.Log
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import java.io.BufferedReader
import java.io.InputStreamReader
import java.lang.reflect.Type
class JsonFileManager(val context: Context) {
fun <T> loadJsonFromAsset(fileName: String, typeToken: TypeToken<T>): T? {
return try {
val inputStream = context.assets.open(fileName)
val bufferedReader = BufferedReader(InputStreamReader(inputStream))
val type: Type = typeToken.type
val gson = Gson()
val json = bufferedReader.use(bufferedReader::readText)
gson.fromJson(json, type)
} catch (e: Exception) {
Log.e("JsonFileManager", "Error loading json file: $fileName", e)
null
}
}
}
这个代码示例展示了如何在Android平台上读取assets目录下的JSON文件,并使用Gson库将其转换为指定的数据类型。使用TypeToken
来获取泛型的具体类型,以便Gson能够正确地解析JSON。同时,使用了try-catch来处理可能发生的异常,并在发生异常时记录错误日志。
评论已关闭