Feign 调用出现的net.sf.json.exception:Unquotted String错误,解决办法。

错误原因:

/**
*请求
*/
@ResponseBody
    @RequestMapping(value = "/queryMobileChainClinicCount.do", method = RequestMethod.POST)
    public Object queryMobileChainClinicCount(String clinicID, String openID) {
        logger.begin();
        logger.debug("queryMobileChainClinicCount Parameters", clinicID);
        ResultMessage message = new ResultMessage();
        try {
            Map<String, String> parameterMap = new HashMap<String, String>();
            parameterMap.put("clinicID", clinicID);
            parameterMap.put("openID", openID);
            Integer count = mobileLoginService.queryMobileChainClinicCount(parameterMap);//feign 服务接口
            message.setCode(CodeConstant.SUCCESS);
            message.setData(count);
            logger.debug("message", message);
        } catch (BusinessException e) {
            message.setCode(e.getErrorCode());
            message.setCodeDesc(e.getErrorDes());
            logger.error(e);
        } catch (Exception e) {
            message.setCode(CodeConstant.SYSTEM_ERROR);
            message.setCodeDesc(ResourceUtils.getResultCodeDesc(CodeConstant.SYSTEM_ERROR));
            logger.error(e);
        }
        logger.end();
        return message;
    }

原因是使用hashMap,在传输过程中hashMap的toString方法不会添加引号,于是在接收参数做json转换出现了如上问题,解决方法将HashMap替换成JSONObject

HashMap toString

public String toString() {
        Iterator<Entry<K,V>> i = entrySet().iterator();
        if (! i.hasNext())
            return "{}";

        StringBuilder sb = new StringBuilder();
        sb.append('{');
        for (;;) {
            Entry<K,V> e = i.next();
            K key = e.getKey();
            V value = e.getValue();
            sb.append(key   == this ? "(this Map)" : key);
            sb.append('=');
            sb.append(value == this ? "(this Map)" : value);
            if (! i.hasNext())
                return sb.append('}').toString();
            sb.append(',').append(' ');
        }
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值