我已经将以下数据从控制台保存到一个文件中:
Username : ali
Age : 56
Email : abc@gmail.com
Password :123456
Skills :Skills : [{android=2, java=3}, {android=2, java=3}]最后一个字段是地图的arrayList。
var skills = arrayListOf<Map<String, Int>>()
var skill = mutableMapOf<String,Int>()
var skillType: String
print("Skills with experience : ")
skillType = readLine()!!
print("Experience : ")
skill[skillType] = readLine()!!.toInt()
skills.add(skill)现在,我希望将此技能字段读取为地图的相同arrayList,以检查是否存在某些特定的技能。我该怎么做呢?
发布于 2018-09-16 08:16:27
用于将kotlin序列化为json的选项使用
JetBrain自己的kotlinx序列化,但它需要gradle设置gradle-plugin为你生成序列化程序,所以它是无反射的,并且也支持kotlin - https://github.com/FasterXML/jackson-module-kotlin
中的实现
希望这能给你一个开始比较你的选择的地方
对于kotlinx序列化,一些相同的代码
@Serializable
data class Skill(val skillType: SkillType)
enum class SkillType { A, B, C }
val json = JSON(indented = true)
println(json.stringify(Skill::class.serializer().list, listOf(Skill(SKillType.A))))
println(json.stringify(Skill(SkillType.B)))
val skill: Skill = json.parse("{\"skillType\": \"C\"}")其他一些注释,它允许使用json“无引号”,因此在可能的情况下删除引号,使其更具可读性和人类的易用性。
https://stackoverflow.com/questions/52348918
复制相似问题