gpt4 book ai didi

android - 从 retrofit 响应中删除不需要的字符串

转载 作者:太空宇宙 更新时间:2023-11-03 13:46:11 25 4
gpt4 key购买 nike

我想从我的 retorfit2 POST 请求响应中删除字符串。

这是我的回复:

  /*-secure-{"response":{"response":{"response":{"token":"95a2c5a8","email":"xxx@sample.in","name":"xxx"},"status":true,"code":0.0},"status":200},"status":200}*/

由于某些安全原因,我的服务器自动添加了字符串

/*-secure-*/

因为这个,在转换为 json 时,我得到以下错误:

 com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 2 path $

最佳答案

我的自定义 gson 转换器类

    final class CustomGsonResponseBodyConverter<T> implements Converter<ResponseBody, T> {
private final Gson gson;
private final TypeAdapter<T> adapter;
private Pattern pattern = Pattern.compile("^\\/\\*-secure-\\W(.*)\\*\\/$");

CustomGsonResponseBodyConverter(Gson gson, TypeAdapter<T> adapter) {
this.gson = gson;
this.adapter = adapter;
}

@Override
public T convert(ResponseBody value) throws IOException {
String response = value.string();
System.out.println(response);
Matcher matcher = pattern.matcher(response);

JsonReader jsonReader = gson.newJsonReader(new StringReader(matcher.group(1)));
try {
return adapter.read(jsonReader);
} finally {
value.close();
}
}
}

关于android - 从 retrofit 响应中删除不需要的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41745704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com