我使用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..."
}
解析这个字符串的正确方法是什么,所以我不用双引号括起来?
答案 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()
方法,因为它会将实际内容作为字符串返回,但是,上述内容仍然可以作为快速解决方法。