我在格式化A室数据库的结果时遇到了一些问题。结果出来时是一个大的、长的、不间断的词,像这样
"texta,textb,textc"
,而我需要它们是一个字符串阵列,像这样
"texta","textb","textc"
。所以我的问题是,我如何将查询结果分解,以便与我的API一起使用。
这里是我如何实现数据库功能和检索数据的。
mUserViewModel = ViewModelProvider(this).get(ViewModel::class.java)
mUserViewModel.readSomeData.observe(viewLifecycleOwner, Observer { user ->
val abc = user
然后,我把它解析到数据被POST
到我的API的函数中,这就是我准备输出的方式。
val jArray = JsonArray()
val element = JsonPrimitive(abc)
jArray.add(element)
// val element = JsonPrimitive("""texta","textb","textc""")//this works
//above is what I was using to test the API when I still putting together the database.
我已经尝试了一些事情,试图达到预期的效果。
第一个是这样的。
val abc = user.split(",").toTypedArray().toString()
this turned the string into this ["[Ljava.lang.String;@e5daa3e"]
第二个是这样的。
val abc: String = user.toCharArray().map { it.toString() }.toString()
这使得它的每个字母都被分割成这样
["[t, e, x, t, a, ,, t, e, x, t, b, ,, t, e, x, t, c]"]
如果有人能告诉我,如何使我发送给API的文本看起来像这样"texta","textb","textc"
。我将非常感激。
如果有帮助的话,字符串将总是10个字符长。
谢谢你的时间。
1 个回答
0 人赞同
你可以实现这个目标的方法之一是使用Gson库来序列化对象,这里有一个例子。
val string = "texta,textb,textc"
val typedArray = string.split(",").toTypedArray()