Android JsonObject解析带双引号的字符串

时间:2015-06-10 03:42:56

标签: android jsonobject

我使用JsonObject来解析来自API的响应,问题是生成的String有双引号,如何获取没有引号的字符串?

                JsonElement jelement = new JsonParser().parse(response);
                JsonObject jobject = jelement.getAsJsonObject();
                String authorization = jobject.get("authorization").toString();

                Log.d("mensa","parseado jwt :"+authorization);

所以我的回答看起来像......

  

parseado jwt:" eyJ0eXAiOiJKV1QiLCJhbGciO ..."

实际Json回复

{
    "authorization": "eyJ0eXAiOiJKV1..."
}

解析这个字符串的正确方法是什么,所以我不用双引号括起来?

3 个答案:

答案 0 :(得分:4)

您从Json获取Object,然后转换为String。 jobject.get("authorization").toString();尝试获取String。

String authorization = jobject.getString("authorization");

答案 1 :(得分:4)

我相信你正在使用GSON库。无需修剪结果,gson提供了相应的方法。试试这个

 String authorization = jobject.get("authorization").getAsString();

请参阅Gson API文档:JsonElement

答案 2 :(得分:1)

只需删除引号:authorization = authorization.substring(1, authorization.length() - 1) 编辑:您应该实际使用getString()方法,因为它会将实际内容作为字符串返回,但是,上述内容仍然可以作为快速解决方法。