Gson,JsonElement,Java中的字符串比较

前端之家收集整理的这篇文章主要介绍了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.

提前致谢.

解决方法

我相信你需要在GSON中使用getAsString(). toString()将添加引号!
原文链接:https://www.f2er.com/java/128236.html

猜你在找的Java相关文章