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将请求体写入某个对象. ...
随机推荐
- SpringMVC 的 切面
官网路径:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans 一:术语介绍 通知 ...
- gerapy的初步使用(管理分布式爬虫)
一.简介与安装 Gerapy 是一款分布式爬虫管理框架,支持 Python 3,基于 Scrapy.Scrapyd.Scrapyd-Client.Scrapy-Redis.Scrapyd-API.Sc ...
- spring boot快速入门 8: 异常处理
异常处理简单样例: 第一步:创建result实体类 package com.payease.domain; /** * http请求返回的最外层对象 * Created by liuxiaoming ...
- 【MPI】执行mpiexec出错
运行mpiexec提示mpiexec_mic: cannot connect to local mpd (/tmp/mpd2.console_jzhang); possible causes: 1. ...
- Python爬虫学习:一些关于爬虫的知识的充电
什么是Http和Https http协议:全称是HyperText Transfer Protocol,中文意思是超文本传输协议,是一种发布和接收Html页面的方法.默认的端口号是80 https协议 ...
- 解决UnicodeDecodeError: 'ascii' code can't decode byte 0xef in position
今天在使用python的pip安装的时候出现了这个错误 UnicodeDecodeError: 'ascii' code can't decode byte 0xef in position 7: o ...
- PHP之string之implode()函数使用
implode (PHP 4, PHP 5, PHP 7) implode - Join array elements with a string implode - 将一个一维数组的值转化为字符串 ...
- poj 1222EXTENDED LIGHTS OUT
高斯消元的题本质思想一样. 学习网址:http://www.cnblogs.com/rainydays/archive/2011/08/31/2160748.html #include <ios ...
- Caffe入门随笔
Caffe入门随笔 分享一下自己入门机器学习的一些资料:(1)课程,最推荐Coursera上的Andrew NG的Machine Learning,最好注册课程,然后跟下来.其次是华盛顿大学的Ma ...
- iOS开源项目周报0119
由OpenDigg 出品的iOS开源项目周报第六期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. Sharaku ...