java中定义json格式数据类型_java解析字符串

java中定义json格式数据类型_java解析字符串在开过发过程中,遇到将一个实体类转换成json对象,转义后得到的字符串中,存在大小写转义错误。在测试中发现:1、字段名称都大写(AAA),不会有问题。2、字段名称都小写(aaa),不会有问题。3、字段名称首字母大写,其余大小写都存在(AaBb),得到的后的是:aaBb;因为基于分离开发,要严格按照规定的协议去做,所以这样是不被允许的。解决方法:引入jar包:jackson-databind-2.8…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在开过发过程中,遇到将一个实体类转换成json对象,转义后得到的字符串中,存在大小写转义错误。

在测试中发现:

1、字段名称都大写(AAA),不会有问题。

2、字段名称都小写(aaa),不会有问题。

3、字段名称首字母大写,其余大小写都存在(AaBb),得到的后的是:aaBb;

因为基于分离开发,要严格按照规定的协议去做,所以这样是不被允许的。

解决方法:

引入jar包:jackson-databind-2.8.8.jar,jackson-annotations-2.8.8.jar, jar文件自行下载

干货代码实体类:

import com.fasterxml.jackson.annotation.JsonIgnore;

import com.fasterxml.jackson.annotation.JsonProperty;

public class ProcessInstruct {

//设备名称

//这个地方使用JsonProperty 自定义字段名称大小写格式

@JsonProperty(value=”DevID”)

private String DevID;

//信息类型

@JsonProperty(value=”BID”)

private String BID;

//控制命令ID

@JsonProperty(value=”CID”)

private String CID;

//参数列表

@JsonProperty(value=”paramList”)

private ParamList paramList;

//@JsonIgnore

public String getDevID() {

return DevID;

}

@JsonIgnore

public void setDevID(String DevID) {

this.DevID = DevID;

}

@JsonIgnore

public String getBID() {

return BID;

}

@JsonIgnore

public void setBID(String bID) {

BID = bID;

}

@JsonIgnore

public String getCID() {

return CID;

}

@JsonIgnore

public void setCID(String cID) {

CID = cID;

}

@JsonIgnore

public ParamList getParamList() {

return paramList;

}

@JsonIgnore

public void setParamList(ParamList paramList) {

this.paramList = paramList;

}

}

测试方法:

public static void main(String[] args) {

ProcessInstruct pi =new ProcessInstruct();

//省略传值

ObjectMapper mapper = new ObjectMapper();

String str = null;

try {

str = mapper.writeValueAsString(pi);

} catch (JsonProcessingException e1) {

e1.printStackTrace();

}

System.err.println(str);

}

输出结果:

{“DevID”:”97″,”BID”:”61441″,”CID”:”16897″,”paramList”:{“Count”:2,”Params”:[“1092″,”666”]}}

网上还有很多的其他方法,没有来的急测试,这个方法也许不是很好,希望大家给出意见和更好地方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190955.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • burpsuite简单抓包教程[通俗易懂]

    burpsuite简单抓包教程[通俗易懂]一.配置浏览器(以火狐为例)1.打开菜单,找到选项,点击翻到最下面点击设置,将配置的代理服务器改为手动代理配置,HTTP代理设为127.0.0.1,端口设置为8080(为了burpsuite能截到浏览器发送出来的请求),点击确定。二.burpsuite的设置点击proxy选择Options观察图中的IP地址及端口,如果不是127.0.0.1:8080,则点击add,添加端口和IP地…

  • HashMap的数据结构浅析[通俗易懂]

    HashMap的数据结构浅析[通俗易懂]HashMap是非线程安全的。而HashMap的线程不安全主要体现在resize时的死循环HashMap工作原理HashMap数据结构常用的底层数据结构主要有数组和链表。数组存储区间连续,占用内存较多,寻址容易,插入和删除困难。链表存储区间离散,占用内存较少,寻址困难,插入和删除容易。HashMap要实现的是哈希表的效果,尽量实现O(1)级别的增删改查。它的具体实现则是同时使用…

  • weakHashMap 用法

    weakHashMap 用法WeakHashMap,此种Map的特点是:当除了自身有对key的引用外,此key没有其他引用,那么GC之后此map会自动丢弃此值举例来说:声明了两个Map对象,一个是HashMap,一个是WeakHashMap,同时向两个map中放入a、b两个对象,当HashMapremove掉a并且将a、b都指向null时,WeakHashMap中的a将自动被回收掉。出现这个状况的原因是,对于a对象…

  • vue路由懒加载的实现方式_vue-router路由模式

    vue路由懒加载的实现方式_vue-router路由模式本文已参与「新人创作礼」活动,一起开启掘金创作之路1.路由懒加载如何实现当打包构建应用时,JavaScript包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就会更加高效当前,我们使用如下方式导入组件importLoginfrom’../views/Login打包后,这些组件都会被打包到一个.s文件中,css代码会打包到css文件中访问应用时,就会下载这js文件和对应的css文件随着代码的增多,文件

  • 一个贼简单的代码表白

    一个贼简单的代码表白前一阵网上挺火的各种表白代码,自己学着也做了一个记事本编写,后缀改为vbs就能运行了。(其中有一串代码会关机的呦,我是WIN10系统)setws=createobject(“wscript.shell”)ws.run”cmd.exe/cshutdown-s-f-t0″哈哈知道三号女生是什么梗吗?(来源于文松的一个小品,那个老弟啊姐给你爆灯的那个!!嗯哼)就是…

  • 基于python的快速傅里叶变换FFT(二)

    基于python的快速傅里叶变换FFT(二)

    2021年11月21日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号