EverSpring007 2017-12-04 08:51 采纳率: 0%
浏览 3875
已采纳

httpclient获取返回的json串会自动转换成科学计数法

在用httpclient获取返回的json数据时,有个值是5000000.0,在用EntityUtils.toString(entity, "utf-8");转换的时候会变成5.0E7,哪位知道怎么处理吗?

 String responseMsg = "";
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpGet httpget = getHttpGet(url);

        try {
            httpget.setHeader("Content-Type", "application/xml; charset=utf-8");
            httpget.setHeader("User-Agent",
                    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36");
            CloseableHttpResponse response = httpClient.execute(httpget);
            try {
                HttpEntity entity = response.getEntity();
                if (entity != null) {
                    responseMsg = EntityUtils.toString(entity, "utf-8");
                }
            } finally {
                response.close();
            }
            httpClient.close();
        } catch (Exception e) {
            throw new SystemException("webservice请求异常", e);
        } finally {
            httpget.releaseConnection();
            httpClient.close();
            // httpClient.getConnectionManager().shutdown();
        }
        return responseMsg;

jdk自带的和OkHttp包也是同样返回

  • 写回答

3条回答 默认 最新

  • Hello_CYY 2018-06-13 09:50
    关注

    看到这个,也卡了半天,可以用这种方式实现:
    使用com.alibaba.fastjson包先转换为json,再转换为string。
    public String toJsonThenToString(String responseMsg){
    try{
    JSONObject jsonObject=JSON.parseObject(responseMsg);
    return JSON.toJSONString(jsonObject);
    }catch(Exception e){
    return responseMsg;
    }
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 8月9日

悬赏问题

  • ¥60 不懂得怎么运行下载来的代码
  • ¥15 CST导出3D模型图为什么和软件显示不一样?
  • ¥15 加热反应炉PLC控制系统设计(相关搜索:梯形图)
  • ¥15 python 用Dorc包报错,我的写法和网上教的是一样的但是它显示无效参数,是什么问题
  • ¥15 经过滑动平均后的一维信号还原用什么结构好呢?
  • ¥15 指定IP电脑的访问设置
  • ¥30 matlab ode45 未发现警告,但是运行出错
  • ¥15 为什么devc++编译项目会失败啊
  • ¥15 vscode platformio
  • ¥15 代写uni代码,app唤醒