Android JsonObject 解析带双引号的字符串
Android JsonObject parsing string with double quotes
我正在使用 Json 对象解析来自 API 的响应,问题是生成的字符串有双引号,如何获取不带引号的字符串?
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..."
}
解析此字符串的正确方法是什么,这样我就不会用双引号引起来?
只需 trim 引号:authorization = authorization.substring(1, authorization.length() - 1)
编辑:您实际上应该使用 getString()
方法,因为它将 return 实际内容作为字符串,但是,上述方法仍然可以作为一种快速解决方法。
您正在从 Json 获取对象,然后转换为字符串。 jobject.get("authorization").toString();
尝试获取字符串。
String authorization = jobject.getString("authorization");
我相信您正在使用 GSON 库。不需要 trim 得出你的结果,gson 提供了方法。试试这个
String authorization = jobject.get("authorization").getAsString();
参考 Gson API 文档:JsonElement
我正在使用 Json 对象解析来自 API 的响应,问题是生成的字符串有双引号,如何获取不带引号的字符串?
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..."
}
解析此字符串的正确方法是什么,这样我就不会用双引号引起来?
只需 trim 引号:authorization = authorization.substring(1, authorization.length() - 1)
编辑:您实际上应该使用 getString()
方法,因为它将 return 实际内容作为字符串,但是,上述方法仍然可以作为一种快速解决方法。
您正在从 Json 获取对象,然后转换为字符串。 jobject.get("authorization").toString();
尝试获取字符串。
String authorization = jobject.getString("authorization");
我相信您正在使用 GSON 库。不需要 trim 得出你的结果,gson 提供了方法。试试这个
String authorization = jobject.get("authorization").getAsString();
参考 Gson API 文档:JsonElement