怎样配置FastJson参数

springboot在配置fastJson的时候可以通过@Configuration 注解来配置。

@Configuration
public class FastJsonConfiguration {
    @Bean
    public HttpMessageConverters fastJsonHttpMessageConverters() {
        // 1.定义一个converters转换消息的对象
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        // 2.添加fastjson的配置信息,比如: 是否需要格式化返回的json数据
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        fastJsonConfig.setSerializerFeatures(SerializerFeature.WriteNullStringAsEmpty);
//        fastJsonConfig.setSerializerFeatures(SerializerFeature.WriteNullNumberAsZero);

        // 3.在converter中添加配置信息
        fastConverter.setFastJsonConfig(fastJsonConfig);
        // 4.将converter赋值给HttpMessageConverter
        HttpMessageConverter<?> converter = fastConverter;
        // 5.返回HttpMessageConverters对象
        return new HttpMessageConverters(converter);
    }
}

但是某些情况下,可能我需要通过静态方法来vo转换成json串。

String requestParm = JSON.toJSONString(parm);

第二种一般就是写一个util类然后再方法类中配置参数。
请问下大神,我怎样才能保证两种方法的配置参数一样呢?难道要维护两套配置吗?或者说。或者说有没有方法能获取前面spring管理的那个fastjson实例然后转换vo呢?

2个回答

写一个静态的配置FastJsonConfig方法,@Bean这个地方直接调用方法获取config,util类这样也能用

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
fastjson解析http的get 参数,转换成java对象

我的http请求头如下 ```http http://localhost:8080/trace/Weather?temperatureMax=22&temperatureMin=1&humedityMax=52&humedityMin=2 ``` 当我请求后,json会得到一个这个 ```java weather = {"temperatureMax":["11"],"temperatureMin":["2"],"humidityMax":["55"],"humidityMin":["2"]} ``` 如果我使用parstObject()转换 weather java对象会报出一个异常"["无法转换 大概的意思是我想把 最大温度11 转到weather 对象中但是[11] 他当作一个整体. 如果我一个一个取出来使用Weather构造函数创造一个实例. 那么就成了一个数组 ```java jsonObject.getInteger("temperatureMax");//出现 [ 问题 jsonObject.get("tempertureMax"); //得到的是一个String数组但是只有一个数据. ``` 我最后处理办法 ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { @SuppressWarnings("unchecked") JSONObject jsonWeather = new JSONObject(request.getParameterMap()); // GardenWeather weather = new GardenWeather(jsonWeather.getInteger("temperatureMax"), jsonWeather.getInteger("temperatureMin") // , jsonWeather.getInteger("humidityMax"), jsonWeather.getInteger("humidityMin")); // System.out.println(weather.toString()); log.info("weather = " + jsonWeather.toJSONString()); response.getWriter().write("temperatureMax = " + jsonWeather.toJSONString() ); response.getWriter().println(); String[] max = (String[]) jsonWeather.get("temperatureMax"); response.getWriter().write(new Integer(max[0]).toString()); weatherService.insertWeather(); } ``` 请问有没有更好的办法可以把http中的get请求转换成jave对象

dubbo rpc如何指定fastjson方式序列化参数对象

我在使用dubbo RPC请求时,参数中包含泛型的List集合对象,使用post方式提交时,系统后台报错如下 user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0 , dubbo version: 2.8.4, current host: 127.0.0.1 2017-07-31 11:29:10,310 INFO (LoggingFilter.java:73) - [DUBBO] The contents of request body is: {"sign":"991ca99cb509b927b83994b877666f53","appId":"001","requestTime":"1487687421","service":"credit","channelCode":"200800120036", "loanList":"[{\"approvalOpinions\":\"|【外部意见】2|【意见】d|【外部意见】d|【意见】d|【外部意见】d|【意见】d|【外部意见】d\",\"brandMode\":\"奥迪(进口) - A6L 2.5 30FSI 技术型\",\"contactId\":\"1516000038\",\"customerId\":\"济南分公司\",\"idNumber\":\"564564\",\"idNumberType\":\"Ent02\",\"isGps\":1,\"loanAmount\":162557.4,\"loanAmountRemain\":162557.4,\"loanAmountZrb\":162557.4,\"loanAmountZrb2\":162557.4,\"loanEndDate\":\"2017/04/26\",\"loanEndDateZrb\":\"2018/03/28\",\"loanLife\":12,\"loanLifeRemain\":8,\"loanMode\":\"租赁模式\",\"loanPrfoitZrb\":0.01,\"loanProfit\":0.00416667,\"loanStartDate\":\"2016/04/26\",\"loanStartDateZrb\":\"2017/07/28\",\"payStyle\":\"等额本息\",\"paymentAmountMonthly\":29358.06,\"productType\":\"不要修改测试数据!!\",\"score\":0,\"totalOverdueOrders\":0,\"vehicleAttribute\":\"新车\",\"vehicleDownPaymentPrice\":17854.6,\"vehicleEvaluationPrice\":178546,\"vehiclePrice\":178546},{\"approvalOpinions\":\"|【外部意见】2|【意见】d|【外部意见】d|【意见】d|【外部意见】d|【意见】d|【外部意见】d\",\"brandMode\":\"奥迪(进口) - A3 Sportback 1.8 豪华型\",\"contactId\":\"1516000039\",\"customerId\":\"云南分公司\",\"idNumber\":\"564564\",\"idNumberType\":\"Ent02\",\"isGps\":1,\"loanAmount\":172423.2,\"loanAmountRemain\":172423.2,\"loanAmountZrb\":172423.2,\"loanAmountZrb2\":172423.2,\"loanEndDate\":\"2017/04/26\",\"loanEndDateZrb\":\"2018/03/28\",\"loanLife\":12,\"loanLifeRemain\":8,\"loanMode\":\"租赁模式\",\"loanPrfoitZrb\":0.01,\"loanProfit\":0.00416667,\"loanStartDate\":\"2016/04/26\",\"loanStartDateZrb\":\"2017/07/28\",\"payStyle\":\"等额本息\",\"paymentAmountMonthly\":31139.86,\"productType\":\"不要修改测试数据!!\",\"score\":0,\"totalOverdueOrders\":0,\"vehicleAttribute\":\"新车\",\"vehicleDownPaymentPrice\":18945.8,\"vehicleEvaluationPrice\":189458,\"vehiclePrice\":189458}]", "pageSize":"200","batchNum":"ZRB20170221_20170221223010356","totalCnt":"535","pageNum":"3","accessToken":"Zrb0012"} , dubbo version: 2.8.4, current host: 127.0.0.1 2017-07-31 11:29:10,311 ERROR (OtherExceptionMapper.java:25) - 系统处理异常 org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of VALUE_STRING token at [Source: java.io.ByteArrayInputStream@3a131c45; line: 1, column: 132] (through reference chain: com.bqzl.car.microservice.zrb.dto.ZrbCreditRequestDto["loanList"]) at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163) ~[jackson-mapper-asl-1.9.12.jar:1.9.12] at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:219) ~[jackson-mapper-asl-1.9.12.jar:1.9.12] at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException 看上述问题是 org.codehaus.jackson 在转换参数时报错了 ,使用alibaba 的fastjson是可以转换的,但是在dubbo中如何指定fastjson序列化方式 。请求参数为上述的request body中,请问是否有大神帮忙解决一下,谢谢

fastjson 与hiernate级联配置问题

fastjson 无法过滤hibernate的级联配置属性!求一个能用的方法,方法的每个参数 的作用!谢谢了,小白在线等!

1.2.7版本fastjson转字符串后key的排序,如何能完全按字母顺序排列?

之前使用fastjson的1.1.32版本,将字符串转json,然后toString后,各key是按字母顺序排列的,如下所示: JSONObject obj = JSONObject.parseObject("{\"command\":\"www\",\"sesID\":\"123456789\",\"content\":\"content\",\"params\":{\"aaa\":\"\",\"ccc\":\"ccc\",\"bbb\":\"bbb\"},\"title\":\"xxx_title\"}"); System.out.println(JSON.toJSONString(obj)); 输出结果是: {"command":"www","content":"content","params":{"aaa":"","bbb":"bbb","ccc":"ccc"},"sesID":"123456789","title":"xxx_title"} 但升级到最新版1.2.7后,输出结果为: {"content":"content","title":"xxx_title","sesID":"123456789","command":"www","params":{"aaa":"","ccc":"ccc","bbb":"bbb"}} 我查了下,貌似要添加一些参数,比如: Feature.OrderedField之类的,但是结果还是不和1.1.32版本的相同,所以想请教一下大家,如何设置参数才能使用1.2.7版本的fastjson时,toString时参数排序能和1.1.32版本一致,多谢!

fastJSON解析遇到属性名是数字的怎么办

JSON字符串 { "error_code": 0, "reason": "success", "result": { "1": "A或者正确", "10": "BC", "11": "BD", "12": "CD", "13": "ABC", "14": "ABD", "15": "ACD", "16": "BCD", "17": "ABCD", "2": "B或者错误", "3": "C", "4": "D", "7": "AB", "8": "AC", "9": "AD" } } 我不可能建出如下类,也就不能使用fastJSON解析 private String 1; private String 10; private String 11; private String 12; private String 13; private String 14; private String 15; private String 16; private String 17; private String 2; private String 3; private String 4; private String 7; private String 8; private String 9; public void set1(String 1){ this.1 = 1; } public String get1(){ return this.1; } public void set10(String 10){ this.10 = 10; } public String get10(){ return this.10; } public void set11(String 11){ this.11 = 11; } public String get11(){ return this.11; } public void set12(String 12){ this.12 = 12; } public String get12(){ return this.12; } public void set13(String 13){ this.13 = 13; } public String get13(){ return this.13; } public void set14(String 14){ this.14 = 14; } public String get14(){ return this.14; } public void set15(String 15){ this.15 = 15; } public String get15(){ return this.15; } public void set16(String 16){ this.16 = 16; } public String get16(){ return this.16; } public void set17(String 17){ this.17 = 17; } public String get17(){ return this.17; } public void set2(String 2){ this.2 = 2; } public String get2(){ return this.2; } public void set3(String 3){ this.3 = 3; } public String get3(){ return this.3; } public void set4(String 4){ this.4 = 4; } public String get4(){ return this.4; } public void set7(String 7){ this.7 = 7; } public String get7(){ return this.7; } public void set8(String 8){ this.8 = 8; } public String get8(){ return this.8; } public void set9(String 9){ this.9 = 9; } public String get9(){ return this.9; } } 这样肯定报错啊 求大神解答

springmvc下,用fastjson toJSONString乱码

![图片说明](https://img-ask.csdn.net/upload/201707/03/1499054271_878600.png) 如图,然后我在@requestMapping里添加了 ``` produces = "text/plain;charset=UTF-8" ``` "?"没有了能正常显示,但是每一个requestMapping都要添加有点麻烦,有没有办法在配置文件里设置

android网络编程服务器接受到的请求参数与实际发送参数不同?

最近做的一个项目,需要利用移动端连接后台服务器发送JSON请求参数,项目要求使用Android自带的HttpURLConnection,请求方式为POST部分代码如下 ![图片说明](https://img-ask.csdn.net/upload/201810/20/1540039172_257536.jpg) 而我们需要发送的请求参数是“{}” ![图片说明](https://img-ask.csdn.net/upload/201810/20/1540039181_357142.jpg) 但在服务器端接收到的请求参数却是%7B%7D,是ASCII码形式的请参数,Tomcat接受请求的详情如下 ![图片说明](https://img-ask.csdn.net/upload/201810/20/1540039191_990631.jpg) 请问该如何解决这个问题?

@RequestBody 实体类接收不到数据,但是用com.alibaba.fastjson.JSONObject可以

``` @RequestMapping(value = "/getTest", method = {RequestMethod.POST}) public @ResponseBody CommonResponse getTest(@RequestBody TestForm form { ``` 后台这样写,使用postman测试 请求会直接报400, ``` <!doctype html> <html lang="en"> <head> <title>HTTP Status 400 – Bad Request</title> <style type="text/css"> h1 { font-family: Tahoma, Arial, sans-serif; color: white; background-color: #525D76; font-size: 22px; } h2 { font-family: Tahoma, Arial, sans-serif; color: white; background-color: #525D76; font-size: 16px; } h3 { font-family: Tahoma, Arial, sans-serif; color: white; background-color: #525D76; font-size: 14px; } body { font-family: Tahoma, Arial, sans-serif; color: black; background-color: white; } b { font-family: Tahoma, Arial, sans-serif; color: white; background-color: #525D76; } p { font-family: Tahoma, Arial, sans-serif; background: white; color: black; font-size: 12px; } a { color: black; } a.name { color: black; } .line { height: 1px; background-color: #525D76; border: none; } </style> </head> <body> <h1>HTTP Status 400 – Bad Request</h1> <hr class="line" /> <p><b>Type</b> Status Report</p> <p><b>Description</b> The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). </p> <hr class="line" /> <h3>Apache Tomcat/8.5.42</h3> </body> </html> ``` 如果后台改为 ``` public CommonResponse getTest(@RequestBody JSONObject jsonObject) { ``` 用JSONObject接收则没有问题,请各位大佬告知原因

json转换对象是报错,下面是报错信息

[com.alibaba.fastjson.JSONException: (class: com/alibaba/fastjson/parser/deserializer/FastjsonASMDeserializer_2_ShoppingOrder, method: deserialze signature: (Lcom/alibaba/fastjson/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;I)Ljava/lang/Object;) Accessing value from uninitialized register 63] 请求参数没有问题,在其他地方已经验证,见过这样错误的大神请赐教

如何使用消息'参数0:类型不匹配来解决异常'com_exception'。 '在COM中(“Word.Application”)

<div class="post-text" itemprop="text"> <p>I have try catch statement in php, but after running I am getting some error saying </p> <blockquote> <p>exception 'com_exception' with message 'Parameter 0: Type mismatch. ' in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\AutomationDocumentation\doccreation.php:218 Stack trace: #0 C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\AutomationDocumentation\doccreation.php(218): variant-&gt;Open(false) #1 {main}</p> </blockquote> <p>below is my code:</p> <pre><code>try{ $word = new COM("Word.Application") or die ("Could not initialise Object."); // set it to 1 to see the MS Word window (the actual opening of the document) $word-&gt;Visible = 0; echo "Anish"; $path=realpath("C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\AutomationDocumentation/$releasedoc/$releasedocfile.docx"); //echo $path; // recommend to set to 0, disables alerts like "Do you want MS Word to be the default .. etc" $word-&gt;DisplayAlerts = 0; // open the word 2007-2013 document $word-&gt;Documents-&gt;Open($path); $a="hello"; // convert word 2007-2013 to PDF $word-&gt;ActiveDocument-&gt;ExportAsFixedFormat("C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\AutomationDocumentation\$created/$mainfolder/$releasedoc/$releasedocfile.pdf", 17, false, 0, 0, 0, 0, 7, true, true, 2, true, true, false); // quit the Word process $word-&gt;Quit(false); // clean up unset($word); }catch(Exception $e){ echo $e; } </code></pre> </div>

在过滤器里打印日志报如下错误(大概意思是请求不是同步的)怎么回事?

com.alibaba.fastjson.JSONException: toJSON error com.alibaba.fastjson.JSON.toJSON(JSON.java:987) com.alibaba.fastjson.JSON.toJSON(JSON.java:888) 。。。。。。 root cause java.lang.IllegalStateException: It is illegal to call this method if the current request is not in asynchronous mode (i.e. isAsyncStarted() returns false) org.apache.catalina.connector.Request.getAsyncContext(Request.java:1695) org.apache.catalina.connector.RequestFacade.getAsyncContext(RequestFacade.java:1055) 我写的代码如下: public class TestFilter implements Filter { static final Logger logger = LoggerFactory.getLogger(TestFilter.class); public void init(FilterConfig filterConfig) throws ServletException { } //新建一个装饰者模式的request对象,以便对request对象的参数进行更改/过滤 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { logger.info("请求为:{}",JSON.toJSON(request)); chain.doFilter(request, response);//对request和response进行过滤 } public void destroy() { } }

SpringMVC3.2 无法接收json参数

环境:SpingMVC3.2+jQuery。 问题:方法能访问到。 1)在ajax中使用contentType : "application/json"时,controller无法获取参数。 2)在ajax中不使用contentType时,controller能获取参数,但是会报错,因为参数中含有list,去掉list可以正常访问。 JS方法片段: ``` $.ajax({ contentType : "application/json", url : systemWebUrl + "/pi/savePIDetail.do", type : "post", dataType : "json", //data : {"articleVO":JSON.stringify(formData)}, data : formData,//JSON.stringify(formData), success : function(data){ console.log(data); } }); ``` 其中传入后台的参数formData数据类似: ``` {"nodeId":"8","title":"abc","isOriginal":"1","keywords":"abc","summary":"abc","coverResourceId":"","contents":[{"type":"1","content":"asdf"},{"type":"1","content":"wqer"}]} ``` Controller代码片段: ``` @RequestMapping("/savePIDetail") @ResponseBody public String savePIDetail(ArticleVO articleVO){ ModelMap map = new ModelMap(); ArticleVO article = new ArticleVO(); //ArticleVO article = JSON.parseObject(articleVO,ArticleVO.class); map.put("msg", articleVO); return JSON.toJSONString(map); } ``` 参数ArticleVO片段: ``` ………… /** * 是否原创 */ private Boolean isOriginal; /** * 摘要 */ private String summary; /** * 内容列表 */ private List<ArticleContentVO> contents; getter/setter ``` mvc.xml配置片段: ``` <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <ref bean="fastJsonHttpMessageConverter"/> </mvc:message-converters> </mvc:annotation-driven> <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> ``` 我觉得上面这段配置返回时才用得到。 ajax中不使用contentType时,并且参数有list,后台报错内容片段: ``` org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'contents[0][content]' of bean class [com.xxx.admin.vo.ArticleVO]: Property referenced in indexed property path 'contents[0][content]' is neither an array nor a List nor a Map; returned value was [asdf] ``` 折腾了几天了,没找到原因,使用字符串传到后台,然后JSON.parseObject()也能使用,但是总觉得不该是这样的,请大家帮忙看下原因,如果问题没有描述清楚的,请提出来,我再改,谢谢了。

SpringMVC入参多类型如何进行绑定

public R save( @RequestParam("menuIdes[]") List<String> menuIdes, @RequestParam("deptIdes[]") List<String> deptIdes, @ModelAttribute("role") SysRoleEntity role){ sysRoleService.save(role); return R.ok(); } ``` 我在后台获取不到list集合和role对象,请问前台如何组织json字符串和后台如何获取参数 ```

HttpURLConnection 重复发送请求参数的问题

new Thread() { @Override public void run() { Looper.prepare(); Date date = new Date(); String timeNow = YYMMdd.timestr(date); String mystr = MD5utils.MD5(timeNow); String urlPath = "http://" + address + "/service/AfarPosService.svc/Sale/salelist/sa/" + mystr; URL url; try { url = new URL(urlPath); JSONObject ClientKey = new JSONObject(); JSONArray jsonArray = new JSONArray(liushuis); ClientKey.put("data", jsonArray); ClientKey.put("c_cardtype", c_cardtype); ClientKey.put("message", ""); ClientKey.put("content", ""); contentLiuShui = String.valueOf(ClientKey); Log.e("发送实时流水contentLiuShui", contentLiuShui + ""); conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(20000); conn.setReadTimeout(20000); conn.setChunkedStreamingMode(0); conn.setDoInput(true);// 设置是否从httpUrlConnection读入,默认情况下是true; conn.setDoOutput(true);//设置是否向httpUrlConnection输出,post请求,参数要放在http正文内,因此需要设为true, 默认情况下是false; conn.setUseCaches(false);//设置是否用缓存 Post 请求不能使用缓存 ,设置为false conn.setRequestMethod("POST");//设定请求的方法为"POST",默认是GET conn.setRequestProperty("ser-Agent", "Fiddler"); conn.setRequestProperty("Content-Type", "application/json"); OutputStream os = conn.getOutputStream();//此处getOutputStream会隐含的进行comm.connect(); Log.e("os", os + ""); os.write(contentLiuShui.getBytes()); os.close(); int code = conn.getResponseCode(); Log.e("发送实时流水code", code + ""); if (code == 200) { InputStream is = conn.getInputStream(); String json = NetUtils.readString(is); Log.e("返回实时流水json", json + ""); com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(json); String panduan = (String) jsonObject.get("message"); String yichang = (String) jsonObject.get("content"); if (panduan.equals("0")) { } else if (panduan.equals("4") || panduan.equals("7")) { } else { Toast.makeText(PaymentMoneyActivity1.this, yichang, Toast.LENGTH_LONG).show(); } } else { Toast.makeText(PaymentMoneyActivity1.this, "与服务器连接失败", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { Toast.makeText(PaymentMoneyActivity1.this, "网络连接超时,请检查网络", Toast.LENGTH_SHORT).show(); e.printStackTrace(); } finally { Toast.makeText(PaymentMoneyActivity1.this, "网络连接超时,zouazheloosg", Toast.LENGTH_SHORT).show(); if (conn != null) { conn.disconnect(); Log.e("断开了", "断开了耶!"); } } Looper.loop(); } }.start(); ``` ``` 现存问题: 第一次进行网络请求的时候(时间A,数据data1),如果网络不好超时了,再次接着请求该接口(时间B,数据data2),服务器会收到两次请求的数据:时间A的data1和时间B的data2! 注意:如果多次超时请求,最终后台服务器会接收到多次不同的data! 本人技术小白,还请大神能够指点出错误和解决的办法! 求加QQ在线讨论,在线等解救QQ:379077640

如果获得的Json字符串中的Key名称与自定义的属性名字不同,怎样反序列化这个json串

如题,如过我得到的json串类似是{"error_info":"1"},如果用JavaScriptSerializer的Deserialize方法,定义的属性名必须也叫error_info,如果我想使用属性名ErrorInfo这种,有没有什么系统方法可以将这个json串中的error_info 反序列化为ErrorInfo

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包也是同样返回

关于相同请求,除参数不一样报的json空指针问题,求大神解答,感谢!!!

前端这边有4个相同请求,除了参数不一样,后台所走的方法都是一样的,然而出现了让我费解的json空指针的报错.自己预估是数据的问题,求大神科普,感谢! Caused by: org.apache.struts2.json.JSONException: java.lang.NullPointerException at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:243) at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:165) at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:131) at org.apache.struts2.json.JSONWriter.array(JSONWriter.java:418) at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:155) at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:131) at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:329) at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:228) ... 100 more Caused by: java.lang.NullPointerException at com.tianque.fsys.person.elderlyPeople.domain.ElderlyPopulation$$EnhancerByCGLIB$$ed985e50.equals(<generated>) at java.util.Vector.indexOf(Vector.java:361) at java.util.Vector.contains(Vector.java:320) at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:114) at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:329) at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:228) ... 107 more

Apache camel 自定义组件

请教如何通过Apache camel 自定义http组件。求求求 请教如何通过Apache camel 自定义http组件。求求求

Java中JSON字符串指定某个key进行加密

Json字符串:{"code":"0000","success":true,"results":{"code":"0000","userId":364,"openid":"null","shopId":null,"brandId":66,"roleId":1,"entityName":null,"menuList":[{"id":258,"name":"xxx","pid":255,"type":2},{"id":259,"name":"xxx","pid":255,"type":2}],"loginName":"xxx"}} 需求:shopId,id 这两个属性值进行加密 有什么好的办法,正则替换什么的。 因为字符串内容是未知的,不能装换成JSON对象操作 已经解决了 ![图片说明](https://img-ask.csdn.net/upload/201712/15/1513305233_688827.png) ![图片说明](https://img-ask.csdn.net/upload/201712/15/1513305312_879649.png)

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

百度工程师,获利10万,判刑3年!

所有一夜暴富的方法都写在刑法中,但总有人心存侥幸。这些年互联网犯罪高发,一些工程师高技术犯罪更是引发关注。这两天,一个百度运维工程师的案例传遍朋友圈。1...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

内容导航: 1、TIOBE排行榜 2、总榜(2020年6月份) 3、本月前三名 3.1、C 3.2、Java 3.3、Python 4、学习路线图 5、参考地址 1、TIOBE排行榜 TIOBE排行榜是根据全世界互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据。

立即提问
相关内容推荐