比较字符串与JSON.getString

时间:2015-05-18 20:58:14

标签: java android json compare

我有点卡在这个上面。我正在尝试将一个字符串与一个jsonobject.getString进行比较,而这似乎与我所做的不相符:

String date = scoreJson.getString("Date");
if (dateString.equals(date))
{
    //do stuff
}

dateString的值在此处指定:

calendar = Calendar.getInstance();
int day = calendar.get(calendar.DAY_OF_MONTH), month = calendar.get(calendar.MONTH), year = calendar.get(calendar.YEAR);

//months start at 0 in calendar
month += 1;

//use builder to create the dateString
builder.append(year).append("-").append(month).append("-").append(day);
dateString = builder.toString();

当我在调试中查看两个字符串时,它们显示“2015-05-18”,但它们在条件语句中不匹配。有没有人知道为什么,以及如何比较它们?

感谢。

编辑:JSON对象将以这种格式返回:

{"ScoreData":{"Username":"testUser","Id":"8fb25209-863a-410b-a440-
b5b57a903ee1","Date":"2015-02-25","Score":"25.3"}}

我在这里检索它的值并保存到sharedprefs:

//response comes back as two JSONObjects, this makes the inner object into a new JSON
JSONObject responseJson = new JSONObject(response);

JSONObject scoreJson = new JSONObject(responseJson.getString("ScoreData"));

String date = scoreJson.getString("Date");
puzzleScore = scoreJson.getString("Score");

SharedPreferencesWrapper.saveToPrefs(c, "score-" + date, puzzleScore);

然后我在这里检查密钥:

puzzleScore = SharedPreferencesWrapper.getFromPrefs(c, "score-" + dateString, "NotFound");

if (!puzzleScore.contains("NotFound"))
{
    //do stuff
}

1 个答案:

答案 0 :(得分:0)

您是否尝试在toString()之后添加scoreJson.getString("Date"),因此代码就像scoreJson.getString("Date").toString()

我认为这是编码问题。如果这不起作用,请检查字符串周围的空格。你可以删除start&用trim()跟踪空格。

希望这有帮助,祝你好运〜