json 对象里面含有 =的解决办法
今天通过restful 调用接口的时候,遇到这样的问题,通过接口返回的数据如下:
{
"code": 0,
"message": "成功",
"result": {
"count": 1
}
}
然后 需要获取 count后面的值,于是 通过json转化的方式:
RestClient client = RestClients.createDefault();
String host = SystemProperties.getInstance().getProperty("****l");;
Integer strNum = 0;
String url = host + "/restful/biProxyService/article/count";
RestRequest request = new RestRequest(url);
request.addParam("circleId", circleId);
request.addParam("articleId",articleId);
try{
RestResponse<Object> response = client.post(request, Object.class);
logger.info("返回数据:" + response);
if(response.isSuccess()){
Object obj= response.getResult();
logger.info("obj:" + obj);
JSON json = (JSON)JSON.parse(obj);
JSONObject jsonObject = (JSONObject)json;
strNum = jsonObject.getJSONObject("result")==null?0:jsonObject.getJSONObject("result").getInteger("count");
logger.info("strNum");
}
}catch (Exception e){
logger.error("调用bi获取文章数据异常",e);
}
return strNum;
然后怎么都转不了,最后打印日志发现 response.getResult的结果是:
{code=0,message=成功,result={count:12}}
额 ,然后报包json转化异常了,因为正常的json格式应该是:
{code:0,message:成功,result:{count:12}}
最后想到了google的gson,通过
Gson gson = new Gson();
gson.toJson(obj)
转化为String对象,在通过fastjson转化 就好了。
完整代码:
public Integer getArticleCount(String circleId,String articleId) {
RestClient client = RestClients.createDefault();
String host = SystemProperties.getInstance().getProperty("***");;
Integer strNum = 0;
String url = host + "/restful/biProxyService/article/count";
RestRequest request = new RestRequest(url);
request.addParam("circleId", circleId);
request.addParam("articleId",articleId);
try{
RestResponse<Object> response = client.post(request, Object.class);
logger.info("返回数据:" + response);
if(response.isSuccess()){
Object obj= response.getResult();
logger.info("obj:" + obj);
Gson gson = new Gson();
String str = gson.toJson(obj);
logger.info(str);
JSON json = (JSON)JSON.parse(str);
JSONObject jsonObject = (JSONObject)json;
strNum = jsonObject.getJSONObject("result")==null?0:jsonObject.getJSONObject("result").getInteger("count");
logger.info("strNum");
}
}catch (Exception e){
logger.error("调用bi获取文章数据异常",e);
}
return strNum;
}
json 对象里面含有 =的解决办法的更多相关文章
- Mybatis 关联对象不能输出的解决办法
Mybatis 关联对象不能输出的解决办法 1.如图所示,现在进行查询的时候并没有得到来自另一张表address项 2.我们进行如下配置: (1).在mybatis-config.xml 文件中配置, ...
- DJANGO中,用QJUERY的AJAX的json返回中文乱码的解决办法
和网上其它用JAVA或是PHP的实现不太一样, DJANGO中的解决办法如下: 后端样例: def render_to_json_response(context, **response_kwargs ...
- 关于在Django中Json无法序列化datetime的解决办法
我们在网页设计时经常会在前端和后台进行交互,前端回传的方法可以时redirect一个地址加上显式的参数,第二个办法就是使用Ajax结构.那么在传到view函数中进行处理后是需要通过Json格式进行返回 ...
- Newtonsoft.json 二次引用出错解决办法
一.一般在C# 项目中二次引用会出现如下错误: 解决办法:用编辑器打开项目下的文件(*.csproj),可以找到在这个文件中,Newtonsoft.Json的引用,删掉引用,然后在项目中重新引用就可以 ...
- .NET Core 3.0 System.Text.Json 和 Newtonsoft.Json 行为不一致问题及解决办法
行为不一致 .NET Core 3.0 新出了个内置的 JSON 库, 全名叫做尼古拉斯 System.Text.Json - 性能更高占用内存更少这都不是事... 对我来说, 很多或大或小的项目能少 ...
- spring oauth2获取token时WARN:Could not decode JSON for additional information: BaseClientDetails解决办法
错误描述 简述:oauth_client_details表中additional_information字段默认为null,ClientDetails实体类中类型为Map<String,Obje ...
- Maven json包找不到解决办法
在Maven中央仓库找到Maven的jar <dependency> <groupId>net.sf.json-lib</groupId> <artifact ...
- IE浏览器中Image对象onload失效的解决办法
作为WEB设计者,为了在网页展示上加强用户体验,经常会利用图象载入显示状态方法,这自然需要Image对象的onload事件. 在firefox浏览器下完成开发后,可是在IE浏览器中进行调试总不能被调用 ...
- Spring MVC Rest服务 返回json报406错误的解决办法
@ResponseBody & @RequestBody @RequestBody 将 HTTP 请求正文插入方法中,使用适合的HttpMessageConverter将请求体写入某个对象. ...
随机推荐
- e的理解
1. e是一个重要的常数,但是我一直不知道,它的真正含义是什么. 它不像π.大家都知道,π代表了圆的周长与直径之比3.14159,可是如果我问你,e代表了什么.你能回答吗? 维基百科说: " ...
- elastic-job动态添加定时任务
在elastic-job的使用过程中,我们会遇到动态添加定时任务的时候,但是官网上面并没有对这块内容进行说明.按照我的理解以及官网上面elastic-job的框架图,ej的定时任务其实是存储在zook ...
- ACCESS 手工注入
ACCESS的注入,基本是死的.思路很简单,基本都可以工具解决.上代码: 1.判断有无注入点' and 1=1 and 1=22.猜表一般的表的名称无非是admin adminuser user pa ...
- PHP在 win7 64位 旗舰版 报错 Call to undefined function curl_init()
代码在ubuntu下无缝运行OK 转到我的win7 64位 期间 学习机上 报错: Call to undefined function curl_init() 因为用到curl 远程抓取数据. 所以 ...
- AngularJs双向绑定详解
双向绑定的三个重要方法: $scope.$apply() $scope.$digest() $scope.$watch() 一.$scope.$watch() 我理解的$watch就是将对某个数据的监 ...
- jQuery $(document).ready()和JavaScript window.onload()事件的区别
一. 在网上查了一下,发现$(document).ready()是在DOM树加载完成时触发,而window.onload()则是在整个页面全部加载完成时触发.下面是一些验证. var start=+n ...
- InnoDB存储引擎的表空间文件,重做日志文件
存储引擎文件:因为MySQL表存储引擎的关系,每个存储引擎都会有自己的文件来保存各种数据.这些存储引擎真正存储了数据和索引等数据. 表空间文件 InnoDB存储引擎在存储设计上模仿了Oracle,将存 ...
- nginx 反向代理https
nginx 反向代理https 原来我用vertx创建了一个https apiserver,想着用nginx反向代理一下.证书是阿里云上免费一年的. 后来发现nginx要反向代理https自己也必 ...
- IOS TableView实现省市联动
之前用UIPickerView实现了省市联动,上个月网友让用UITableView给他实现了下.今天也把这些贴出来. // // ViewController.m // doubleTable // ...
- C++学习笔记1(Windows程序运行原理及程序编写流程)
窗口产生过程,句柄原理,消息队列,回调函数,窗口关闭与应用程序退出的工作关系,使用VC++的若干小技巧,stdcall与Lessonecl调用规范的比较,初学者常犯错误及注意事项.以下是应用程序与操作 ...