如何在Android Studio中从JSON值中的字符串中获取名称或单词



我不确定标题是否正确,但我会解释我的意思。所以我正在做一个涉及API的项目。我创建了存储这些信息所需的数据类。奇怪的是,我实际上得到了我需要的信息。这是我为这个项目需要的信息列表的一个例子。

"Text":"Alma Gutierrez - Alma M. Gutierrez is a fictional character on the HBO drama The Wire, played by actress Michelle Paress. Gutierrez is a dedicated and idealistic young reporter on the city desk of The Baltimore Sun."

您可以看到,字符的名称和描述都在一个字符串值中。我通常习惯于名称和描述像这样分开,例如

Text:{
name: "Alma Gutierrez"
description:"Alma is a..."
}

所以我的问题是,我如何处理响应,以便分别获得名称和描述?我正在考虑某种函数,它将从JSON调用中获取字符串值,并将其拆分为名称和描述值。但我不知道该怎么做。

我会留下我的项目GitHub URL,以便你们参考。谢谢你的帮助。

https://github.com/OEThe11/AnywhereCE

您可以使用split((根据分隔符将字符串拆分为多个部分。

例如,如果您有一个包含问题中提到的描述的字符串,您可以执行以下操作:

val text = "Alma Gutierrez - Alma M. Gutierrez is a fictional character on the HBO drama The Wire, played by actress Michelle Paress. Gutierrez is a dedicated and idealistic young reporter on the city desk of The Baltimore Sun."
val (name, description) = text.split(" - ", limit = 2)

(看看这个操场上的行为(

limit = 2参数可确保在描述中包含-的情况下不会遗漏任何部分。它最多只分为两部分,因此它会将第一次出现-之前的所有内容都视为名称,并将之后的所有内容视为描述,即使它包括更多的-

请注意,如果split()返回的部分少于2,那么像这样使用解构val (name, description) = ...将失败(换句话说,如果初始文本根本不包含-,那么它将失败。根据您期望的输入,这可能对您来说没问题。

为了补充Joffery所说的内容,我实际上创建了一个变量来保存吐出的字符串。

val parts = Text.split(" - ", limit = 2)

由于分割中只有两个值,因此我可以使用该变量并调用相应文本字段所需的索引。

最新更新