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”]}}

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 面试题:MySQL的union all和union有什么区别、MySQL有哪几种join方式(阿里面试题)[通俗易懂]

    面试题:MySQL的union all和union有什么区别、MySQL有哪几种join方式(阿里面试题)[通俗易懂]面试题:MySQL的union all和union有什么区别、MySQL有哪几种join方式(阿里面试题)————————————————————————————————————————————————-…

    2022年6月13日
    28
  • android 封装网络框架(java企业自己封装的框架)

    Android网络框架OKGo封装本文讲述了Android网络框架OKGo封装,封装的框架适用于项目当中,适合新手操作,OKGO框架本身就以简单易上手而深受喜欢,而此文就是基于框架之上再次封装,废话不多说,直接开始吧!首先在我们的build.gradle中导入我们引用的框架dependencies{…implementation’com.lzy.net:okgo:3.0.4’i…

    2022年4月12日
    64
  • 我终于搞懂了TCP的三次握手和四次挥手(图片案例超详解)

    我终于搞懂了TCP的三次握手和四次挥手(图片案例超详解)本篇超级详细的讲解了TCP三次握手和四次挥手!欢迎阅读学习交流!

    2022年6月2日
    33
  • 输出数组的全排列java_java用sort对一个数组排序

    输出数组的全排列java_java用sort对一个数组排序packagetest;importjava.util.ArrayList;importjava.util.List;publicclass Test{staticList<int[]>allSorts=newArrayList<int[]>();publicstaticvoidpermutation(int[]nums,i…

    2022年10月11日
    2
  • 改进神经风格迁移_癌细胞能否沿着神经迁移

    改进神经风格迁移_癌细胞能否沿着神经迁移神经风格迁移使用CNN将一幅图像的艺术风格转移到另一幅图像。但神经风格迁移存在两个缺陷,首先是神经风格迁移基于神经网络训练反向传播,因此速度较慢,同时风格迁移会获取风格图像所有风格信息,包括颜色和笔触等,不能进行更好的控制。因此许多论文和应用针对原始的神经风格迁移的缺点进行了改进。学会神经风格迁移,免费获取价值百元DIY数字油画定制照片。

    2025年7月24日
    3
  • Python贪吃蛇小游戏_Python贪吃蛇代码

    Python贪吃蛇小游戏_Python贪吃蛇代码Python命令行小游戏—贪吃蛇前言一、贪吃蛇游戏初始界面及地图1.游戏初始界面2.游戏地图二、命令符的设置、输出刷新和按键检测1.库支持2.c语言代码3.Python代码(变量初始化及游戏初始化)三、蛇的移动四、蛇的方向控制五、食物的设置六、游戏结束总结前言为了初步学习Python更有兴趣,决定做个学编程大多都会做的小游戏—贪吃蛇,因为是刚刚开始学习,不足之处,希望大家多多指正。一、贪吃蛇游戏初始界面及地图1.游戏初始界面defmune():os.system(“color0a

    2025年9月14日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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