6
好吧,我想知道這可能是相當簡單和愚蠢的,但經過一段時間與情況作鬥爭,我不知道發生了什麼。Gson,JsonElement,在Java中的字符串比較
我正在使用Gson來處理一些JSON元素。在我的代碼中的某處,我將JsonObject的JsonElements之一作爲String,並將其與另一個String進行比較。據我可以看到他們都是平等的,但比較時,我總是得到錯誤。這是片段。
JsonArray arr;
JsonObject jsonobj;
JsonElement model_elem;
String STUPID_STRING = "bla bla bla";
// Previously we initializes and fill arr, it doesn't matter how... I hope
jsonobj = arr.get(0).getAsJsonObject();
model_elem = jsonobj.get("coolname");
if (model_elem.toString().equals(STUPID_STRING)) {
...
它永遠不會進入if語句。
arr在索引0處有元素,jsonobj有一個名稱爲「coolname」的字段,如果我println model_elem我得到「bla bla bla」(與STUPID_STRING相同)。我曾嘗試equals()和compareTo()== 0.
我無法弄清楚這裏發生了什麼,有人知道嗎? :-s。
在此先感謝。
OMG GUYS !!我發現了這個問題! – Ole
我也去過那裏。盯着兩個相同的字符串,你不會注意到額外的引號。 :) –
你是完全正確的,這是問題......我不知道該怎麼說......應該記錄在JsonElement.toString()和JsonElement.getAsString()xDD – Ole