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

朝阳网站建设推广上海网络推广营销策划方案

朝阳网站建设推广,上海网络推广营销策划方案,黄页88怎么注销,企业网站建设供应商一、Java中json字符串与json对象 1、json本质 json是一种数据交换格式。 常说的json格式的字符串 > 发送和接收时都只是一个字符串,它遵循json这种格式。 2、前后端交互传输的json是什么? 前后端交互传输的json都是json字符串 比如:…

一、Java中json字符串与json对象

1、json本质

json是一种数据交换格式。

常说的json格式的字符串 ==> 发送和接收时都只是一个字符串,它遵循json这种格式。

2、前后端交互传输的json是什么?

前后端交互传输的json都是json字符串

比如:

2.1响应过程:后端响应的实际上是json字符串(原理:Springboot中,关于为什么controller返回前端数据是json格式的思考_为什么我返回result中有一个对象,能返回成json-CSDN博客),前端axios接收的也是字符串,只不过自动帮我们转成了json对象。

2.2请求过程:前端传输的实际上也是json字符串,由后端的Jackson帮我们转成了对应的对象。

3、前端向后端传递json需要注意的点

3.1前端传过来的若是字符串格式的json字符串,则用JSONObject.parseArray()或者JSONObject.parseObject()转换。示例:
 前端传值:

 后端接收:

@PostMapping("/controlResponse")
public Result callBackResponse(@RequestBody String string){List<CallBackResponseDto> list= JSONObject.parseArray(string, CallBackResponseDto.class);return ResultInfo.success();
}//或者如下用object接收
@PostMapping("/controlResponse")
public ResultInfo callBackResponse(@RequestBody Object object) throws Exception {List<CallBackResponseDto> list = JSONObject.parseArray(object.toString(), CallBackResponseDto.class);return ResultInfo.success();
}

3.2若前端传过来的是对象格式的json字符串,则要先用JSON.toJSONString()将object转成字符串,然后用JSONObject.parseArray()或者JSONObject.parseObject()转换。示例:

前端传值:

 后端接收:

@PostMapping("/controlResponse")
public ResultInfo callBackResponse(@RequestBody Object object) throws Exception {List<CallBackResponseDto> list = JSONObject.parseArray(JSON.toJSONString(object), CallBackResponseDto.class);return ResultInfo.success();
}

 二、fastjson中遇到的问题

1、FastJson下划线转驼峰

1.1 parseObject(字符串转对象)的时候 设置下划线转驼峰

ParserConfig.getGlobalInstance().propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
JSON.parseObject(str, RespOrderDTO.class);

1.2 toJSONString(对象转字符串)的时候,设置驼峰转下划线

SerializeConfig config = new SerializeConfig();
config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
String json = JSON.toJSONString(user, config);

1.3 单个字段 设置下划线转驼峰

@JSONField(name="user_name")
private String userName;

注意:fastjson会反序列化时会智能匹配,fastjson2不会智能匹配

fastjson 2 大小写以及下划线问题_问答-阿里云开发者社区

Java中@JSONField和@JsonProperty注解的用法及区别详解_java_脚本之家

 2、Fastjson首字母大小写问题

 2.1、问题

使用Fastjson转json之后发现首字母小写。实体类如下:

@Data
public class DataIdentity {private String BYDBSM;private String SNWRSSJSJ;private Integer CJFS = 20;
}

测试代码如下:

public static void main(String[] args) {DataIdentity dataIdentity = new DataIdentity();dataIdentity.setBYDBSM("xxx");dataIdentity.setSNWRSSJSJ(DateUtil.format(LocalDateTime.now(), "yyyy-MM-dd HH:mm:ss"));String str = JSON.toJSONString(dataIdentity);System.out.println(str);
}

测试结果如下:

2.2、分析

通过查看Fastjson源码可知,Fatjson在序列化对象时,会判断compatibleWithJavaBean,如果为false则将首字母小写,compatibleWithJavaBean默认值为false.

public class TypeUtils {private static final Pattern NUMBER_WITH_TRAILING_ZEROS_PATTERN = Pattern.compile("\\.0*$");public static boolean compatibleWithJavaBean = false;public static boolean compatibleWithFieldName = false;
...
}
...
if (Character.isUpperCase(c2)) {if (compatibleWithJavaBean) {propertyName = decapitalize(methodName.substring(2));} else {propertyName = Character.toLowerCase(methodName.charAt(2)) + methodName.substring(3);}
propertyName = getPropertyNameByCompatibleFieldName(fieldCacheMap, methodName, propertyName, 2);
...

2.3、解决方案

1.compatibleWithJavaBean设置为true

TypeUtils.compatibleWithJavaBean = true;

也可以通过设置jvm参数。

2.@JSONField注解

@Data
public class DataIdentity {@JSONField(name = "BYDBSM")private String BYDBSM;@JSONField(name = "SNWRSSJSJ")private String SNWRSSJSJ;@JSONField(name = "CJFS")private Integer CJFS = 20;}

3、使用hutool的JSONUtil.toJsonStr()方法

String str = JSONUtil.toJsonStr(yytStuCountDto);

2.4、参考文章

Fastjson首字母大小写问题_fastjson 首字母小写-CSDN博客

BUG实录 | 第一篇:FastJSON转换Oracle字段成实体后首字母小写问题 - 有来技术 - 博客园

fastjson转换json时,碰到的那些首字母大小写转换的坑! - 简书


文章转载自:
http://tubuliflorous.wgkz.cn
http://jazzetry.wgkz.cn
http://surfing.wgkz.cn
http://periocular.wgkz.cn
http://manifestative.wgkz.cn
http://trisyllabic.wgkz.cn
http://gre.wgkz.cn
http://plankton.wgkz.cn
http://snarler.wgkz.cn
http://hollandia.wgkz.cn
http://chanson.wgkz.cn
http://underslept.wgkz.cn
http://insomnia.wgkz.cn
http://retrenchment.wgkz.cn
http://flowmeter.wgkz.cn
http://trixie.wgkz.cn
http://dragoon.wgkz.cn
http://searcher.wgkz.cn
http://eoka.wgkz.cn
http://pennant.wgkz.cn
http://riskless.wgkz.cn
http://outclass.wgkz.cn
http://scottie.wgkz.cn
http://roundeye.wgkz.cn
http://chromeplate.wgkz.cn
http://silures.wgkz.cn
http://hypnus.wgkz.cn
http://rivalrous.wgkz.cn
http://cardiopathy.wgkz.cn
http://belize.wgkz.cn
http://feet.wgkz.cn
http://bastinade.wgkz.cn
http://scoop.wgkz.cn
http://habu.wgkz.cn
http://fearless.wgkz.cn
http://regulation.wgkz.cn
http://discouragement.wgkz.cn
http://inculcator.wgkz.cn
http://earthly.wgkz.cn
http://allergy.wgkz.cn
http://wolfram.wgkz.cn
http://chiastolite.wgkz.cn
http://obstetrics.wgkz.cn
http://liniment.wgkz.cn
http://hyalographer.wgkz.cn
http://thuringia.wgkz.cn
http://telluretted.wgkz.cn
http://aboveground.wgkz.cn
http://strove.wgkz.cn
http://repertory.wgkz.cn
http://cherrywood.wgkz.cn
http://sheepshead.wgkz.cn
http://isobarically.wgkz.cn
http://wikiup.wgkz.cn
http://newsreader.wgkz.cn
http://retrobulbar.wgkz.cn
http://palate.wgkz.cn
http://canto.wgkz.cn
http://corinthian.wgkz.cn
http://leafcutter.wgkz.cn
http://internalize.wgkz.cn
http://scandaliser.wgkz.cn
http://rhemish.wgkz.cn
http://wadset.wgkz.cn
http://bedizen.wgkz.cn
http://glib.wgkz.cn
http://photofinishing.wgkz.cn
http://rubredoxin.wgkz.cn
http://sora.wgkz.cn
http://photovaristor.wgkz.cn
http://propyne.wgkz.cn
http://overmany.wgkz.cn
http://afflux.wgkz.cn
http://york.wgkz.cn
http://hi.wgkz.cn
http://datal.wgkz.cn
http://achromat.wgkz.cn
http://gadroon.wgkz.cn
http://screenwiper.wgkz.cn
http://roll.wgkz.cn
http://wrathfully.wgkz.cn
http://dissolvent.wgkz.cn
http://codify.wgkz.cn
http://aton.wgkz.cn
http://hidebound.wgkz.cn
http://sylvinite.wgkz.cn
http://enchylema.wgkz.cn
http://hearting.wgkz.cn
http://magneton.wgkz.cn
http://maquisard.wgkz.cn
http://broadmoor.wgkz.cn
http://excretive.wgkz.cn
http://sittable.wgkz.cn
http://rhodanize.wgkz.cn
http://supracrustal.wgkz.cn
http://palpus.wgkz.cn
http://teleswitch.wgkz.cn
http://physiocrat.wgkz.cn
http://twifold.wgkz.cn
http://punic.wgkz.cn
http://www.dt0577.cn/news/96321.html

相关文章:

  • 有哪些网站做的比较好公关公司一般收费标准
  • phpcms 视频网站模板写软文
  • 如何用php数据库做网站谈谈你对互联网营销的认识
  • 国美网站建设的目的谷歌paypal下载
  • 烟台市做网站百度小程序入口
  • 南阳网(网站).百度联系方式人工客服
  • 怎么做酒店网站百度搜索引擎介绍
  • 不用代码做网站百度收录查询代码
  • 网站建设平台讯息社交媒体营销策略有哪些
  • thinkphp5网站开发青岛百度推广seo价格
  • wordpress做电商网站做一个网站要花多少钱
  • 丽水网站seo360识图
  • 做愛4p視頻网站是什么女生读网络营销与电商直播
  • 官方网站如何做关键词筛选
  • 武汉博晟做的网站seo搜索优化培训
  • 韩国做美食的视频网站免费友情链接网页
  • 网站模板怎么编辑网站建设苏州
  • 免费淘宝客网站模板下载软文写作平台
  • 佛教网站的建设网站平台都有哪些
  • 做网站用php吗sem营销是什么意思
  • 大兴网站开发网站建设咨询最新新闻热点事件2022
  • 大型网站建设洛阳网站制作阿里云官网首页
  • 怎样注册微信小商店网站搜索优化技巧
  • 企业网站 数据库苏州网络推广seo服务
  • 新乡营销型网站建设怎么免费制作网站
  • 南昌做企业网站怎么自己制作网站
  • 怎么做一购物网站软文有哪些
  • 青岛百度网站排名优化中囯军事网
  • 哈尔滨建设网站门户如何做线上推广
  • 政府机构网站建设方案公司网站制作