Android OKHttp 获取服务器的 Json 数据,没有双引号,请求是怎么回事儿?
我服务器使用 SpringBoot 写的,如下:
@GetMapping(value = "/GetImageByUser",produces = "application/json;charset=UTF-8")
@ApiOperation("获取用户图片,每个分类前 100 张")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "userId", dataType = "String", paramType = "query")
}
)
public Result getImageByUser(String userId) {
return imageService.getImageByUser(userId);
}
返回值 Result
对象如下:
public class Result {
private int code;
private boolean message;
private Object detail;
...省略setter 和 getter 方法
}
然后在浏览器访问这个接口的时候,响应结果是带双引号的:
{"code":200,"message":true,"detail":[{"category":{"objectId":"0c0a0ddaa1b84ce286be4343cd9d3438","categoryId":"c5341c1d8ac547589899514516d0768a","categoryName":"WeiXin","categoryUser":"84f6e0d8d94348ccab981e364661a419","isPrivate":-1,"categoryStatus":1,"createTime":3},"images":[{"objectId":"f6d97d24556348a4ac342cb321397718","imageId":"e50ba0a75359432f89390d85daefb10a","sha1":"c3063275501e0f8ef87703473c7263168771f21b","fileCategory":"c5341c1d8ac5475898
省略...
然后使用 Swagger 做调试的时候也是同样的效果。
但是在 Android 端使用 OKHttp 访问接口的时候,json 的 key 和 value 都不带双引号:
[{category={objectId=0c0a0ddaa1b84ce286be4343cd9d3438, categoryId=c5341c1d8ac547589899514516d0768a, categoryName=WeiXin, categoryUser=84f6e0d8d94348ccab981e364661a419, isPrivate=-1.0, categoryStatus=1.0, createTime=3.0}, images=[{objectId=f6d97d24556348a4ac342cb321397718, imageId=e50ba0a75359432f89390d85daefb10a, sha1=c3063275501e0f8ef87703473c7263168771f21b,
省略...
因为 json 中有时候会含有网址,所以在解析 JSON 的时候就会出错。
请问这个问题该如何解决啊?如何让 key 和 value 中的字符串都是带双引号的呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)