首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从kotlin文件中读取地图的arraylist

从kotlin文件中读取地图的arraylist
EN

Stack Overflow用户
提问于 2018-09-16 05:12:44
回答 1查看 548关注 0票数 0

我已经将以下数据从控制台保存到一个文件中:

代码语言:javascript
复制
Username : ali 
Age : 56 
Email : abc@gmail.com
Password :123456
Skills :Skills : [{android=2, java=3}, {android=2, java=3}]

最后一个字段是地图的arrayList。

代码语言:javascript
复制
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,以检查是否存在某些特定的技能。我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2018-09-16 08:16:27

用于将kotlin序列化为json的选项使用

JetBrain自己的kotlinx序列化,但它需要gradle设置gradle-plugin为你生成序列化程序,所以它是无反射的,并且也支持kotlin - https://github.com/FasterXML/jackson-module-kotlin

  • there有更多的kotlin实现用于json序列化(例如:klaxon),

  • ,甚至更多在java (例如: gson)

中的实现

希望这能给你一个开始比较你的选择的地方

对于kotlinx序列化,一些相同的代码

代码语言:javascript
复制
@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“无引号”,因此在可能的情况下删除引号,使其更具可读性和人类的易用性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52348918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档