当前位置: 首页 > news >正文

山东网站营销seo哪家好哈尔滨网络推广经理招聘

山东网站营销seo哪家好,哈尔滨网络推广经理招聘,对其网站建设进行了考察调研,北京城乡建设网站1、场景 ​ 在日常的开发中#xff0c;我们数据接口返回数据使用了FastJson序列化数据#xff0c;当返回一个数据list时候出现 r e f ref ref.data 等类似乱码一样的数据#xff0c;当时我比较匪夷所思#xff0c;我写…1、场景 ​ 在日常的开发中我们数据接口返回数据使用了FastJson序列化数据当返回一个数据list时候出现 r e f ref ref.data 等类似乱码一样的数据当时我比较匪夷所思我写的代码这么完美为什么会返回非正常数据数据呢经过我多方查证原来是FastJson框架自身的问题。 2、问题原因 ​ 使用FastJson的JSONArray类型作为返回数据当像JSONArray对象中添加JSONObject对象而JSONObject对象中包含相同的节点数据时FastJson会防止返回数据栈溢出的问题自动将JSONArray中相同的节点数据使用引用方式代替即{ r e f : ref: ref:…[0]} 3、解决方案 强大的 FastJson 为我们提供了相关的配置参数来禁用循环引用 方法一使用配置文件 *** FastJson配置** author charles.yao* date 2023/8/8**/ Configuration public class FastJsonConfiguration {Beanpublic HttpMessageConverters getFastJSONHttpMessageConvert() {// 定义一个转换消息的对象FastJsonHttpMessageConverter fastConverter new FastJsonHttpMessageConverter();// 添加fastjson的配置信息 比如 是否要格式化返回的json数据FastJsonConfig fastJsonConfig new FastJsonConfig();// 修改配置返回内容的过滤fastJsonConfig.setSerializerFeatures(// 格式化输出SerializerFeature.PrettyFormat,// 消除循环引用SerializerFeature.DisableCircularReferenceDetect,// 返回结果保留null值SerializerFeature.WriteMapNullValue,// 将返回值为null的字符串转变成,在这里可以自己设置SerializerFeature.WriteNullStringAsEmpty,// List字段如果为null,输出为[],而非nullSerializerFeature.WriteNullListAsEmpty);// 解决 SerializerFeature.WriteNullStringAsEmpty 不生效问题ValueFilter valueFilter (object, name, value) - {if (null value){value ;}return value;};// 设置全局日期格式fastJsonConfig.setDateFormat(yyyy-MM-dd HH:mm:ss);// 注入过滤器fastJsonConfig.setSerializeFilters(valueFilter);// Long、BigDecimal 序列化时转 StringSerializeConfig serializeConfig SerializeConfig.globalInstance;serializeConfig.put(Long.class, ToStringSerializer.instance);serializeConfig.put(Long.TYPE, ToStringSerializer.instance);serializeConfig.put(BigDecimal.class, ToStringSerializer.instance);// 在转换器中添加配置信息fastJsonConfig.setSerializeConfig(serializeConfig);fastConverter.setDefaultCharset(StandardCharsets.UTF_8);fastConverter.setFastJsonConfig(fastJsonConfig);// 解决中文乱码问题相当于在Controller上的RequestMapping中加了个属性produces application/jsonListMediaType mediaTypeList new ArrayList();mediaTypeList.add(MediaType.APPLICATION_JSON);fastConverter.setSupportedMediaTypes(mediaTypeList);return new HttpMessageConverters(fastConverter);} }所有可选配置属性 SerializerFeature.PrettyFormat格式化输出SerializerFeature.WriteMapNullValue是否输出值为null的字段,默认为falseSerializerFeature.DisableCircularReferenceDetect消除循环引用SerializerFeature.WriteNullStringAsEmpty将为null的字段值显示为WriteNullListAsEmptyList字段如果为null,输出为[],而非nullWriteNullNumberAsZero数值字段如果为null,输出为0,而非nullWriteNullBooleanAsFalseBoolean字段如果为null,输出为false,而非nullSkipTransientField如果是true类中的Get方法对应的Field是transient序列化时将会被忽略。默认为trueSortField按字段名称排序后输出。默认为falseWriteDateUseDateFormat全局修改日期格式,默认为false。JSON.DEFFAULT_DATE_FORMAT “yyyy-MM-dd”;JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);BeanToArray将对象转为array输出QuoteFieldNames输出key时是否使用双引号,默认为trueUseSingleQuotes输出key时使用单引号而不是双引号,默认为false经测试这里的key是指所有的输出结果而非key/value的key,而是key,和value都使用单引号或双引号输出 方法二直接在返回数据禁止循环引用 JSONArray jsonArrayUserNum JSONArray.parseArray(JSON.toJSONString(resultJsonArr, SerializerFeature.DisableCircularReferenceDetect));
http://www.dnsts.com.cn/news/8983.html

相关文章:

  • 中卫网架配件多少钱江苏关键词推广seo
  • 网站开发公司名字网站设计步骤
  • 蓬莱做网站案例室内设计图片
  • 有域名了 怎么做网站唐山制作网站公司
  • 咸宁网站设计无人机东莞网站建设
  • 西部数码网站备份面备案网站建设
  • 微信怎么建设网站培训机构加盟店排行榜
  • 天津网站模板建站17zwd一起做网站官网
  • 如何免费建立自己的网站政务网站建设浙江
  • 北京网站开发培训杭州网站建设网站制作
  • 网站成立查询网页设计代码计算器
  • 做网站哪一家比较好移动开发是干什么的
  • 做网站 写文章怎样加视频wordpress 10万并发
  • 学做美食去哪个网站好网站需要什么
  • 好大夫 网站开发手机网站源码 html5
  • 网站设计与建设实践变装小说wordpress
  • 怎样建设一个好的企业网站好看的个人网站设计
  • 郑州网站app开发的营业执照上有以上除网站制作
  • 做平面还有什么素材网站专业网站建设找哪家公司
  • 网站建设与管理的过程三角网站建设
  • 巴中网站建设开发公司有趣软文广告经典案例
  • 旅游景区网站设计宁国市网站建设
  • 网站备案密码丢了怎么办公司建网站费用怎么做分录
  • 公司门户网站源码全国企业信息查询系统官网
  • 站酷网官网进入网站开发 流程图
  • dw做网站背景图片设置铺平如何网站后台清理缓存
  • 国家建设工程网站seo承诺排名的公司
  • 扫黄除恶网站构造结构怎么做高端网站建设费用
  • 安平做网站网站建设的公司有发展吗
  • 网站建设费 科研 设备费wordpress 防cc