问答

Android OKHttp 获取服务器的 Json 数据,没有双引号,请求是怎

作者:admin 2021-05-06 我要评论

我服务器使用 SpringBoot 写的,如下: @GetMapping(value = "/GetImageByUser",produces = "application/json;charset=UTF-8") @ApiOperation("获取用户图片,...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

我服务器使用 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 中的字符串都是带双引号的呢?

###
    • 一个是原始数据,像这种httpclient,okhttp,restTemplate都是对结果做了封装的,,可以直接转成对象,你要结果就是json的话,指定解析类型是String就行了;实在不会的话,就你那个结果转json也是可以实现的;

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Android OKHttp 获取服务器的 Json 数

    Android OKHttp 获取服务器的 Json 数

  • 求以某开头某结尾的所有字符串js正则

    求以某开头某结尾的所有字符串js正则

  • js两个自执行函数报错?

    js两个自执行函数报错?

  • 请问我想打印内容main区域,如何设置左

    请问我想打印内容main区域,如何设置左

腾讯云代理商
海外云服务器