【发布时间】:2017-12-08 11:49:08
【问题描述】:
我有一组从我的数据库发送的数据 - 收到后,我将其保存在共享首选项中 - 这是我的 getter:
public List getAnswerStringEdit() {
return answer_edit;
}
我这样保存:
editor.putString(Constants.ANSWER_EDIT,resp.getAnswer().getAnswerStringEdit().toString().trim());
然后在这里检索它:
String answerString = pref.getString(Constants.ANSWER_EDIT, "").trim();
answerString = answerString.substring(1, answerString.length() - 1).trim();
String[] array = answerString.split(",");
最后,我这样访问数组:
et_answer1_edit.append(array[0]);
我的问题是 - 假设我添加了一个中间有逗号的问题,比如 -
问题 1-“为什么坏了,我不知道?”
目前,当我检索我的问题时,字符串被拆分,即使整个问题/答案周围都有引号 - 所以在上面的示例中,在数组中的位置 0,我应该有:
“为什么坏了,我不知道?”
但是,我却在位置 0:
为什么会损坏 - 然后将位置 1 设为:我不知道
我知道这听起来很愚蠢,因为很明显,我要求在逗号上进行拆分,但我希望在整个字符串对象的末尾,而不是在它的中间。
检索到的JSON如下:
{
"result": "success",
"message": "Answer Has Been Selected",
"answer": {
"answer_edit": ["Why is this broke, I don't know?", "What is your favorite song, because I want to know"]
}
}
任何可以帮助我了解导致此问题的原因的帮助/建议,我们将不胜感激。
【问题讨论】:
-
你必须尝试拆分问号,而不是基于逗号拆分。
-
是json,当作json处理。
-
@TominB 如果问题中有引号怎么办?
-
@Displayname 没有上下文就没有任何意义。如果您想假装它不是 json,请使用 CSV 解析库或尝试编写自己的。
标签: java android arrays json split