「java枚举+json」java枚举类型enum用法
今天给各位分享java枚举+json的知识,其中也会对java枚举类型enum用法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、json解析出错误
- 2、java如何将接收到的数字自动转换为枚举
- 3、java 枚举类怎么转换成json
- 4、用Java语言:从下列Json数组中只展示“productTypeName=公路零担”的数据集?
json解析出错误
这个东西是客户端和服务器数据交换的格式,软件一般出现这个错误可以先试一下把网络连接方式改一下。
Java是由Sun公司于1995年5月推出的面向对象的程序设计语言。
Java继承了C++语言面向对象技术的核心,又舍弃了C++语言中的指针、运算符重载以及多重继承的特性,同时引入了泛型编程、类型安全的枚举等特性,使Java成为简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。
Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。
java如何将接收到的数字自动转换为枚举
方式一:写判断
public enum ORDER {
FIRST, SECOND;
public static ORDER getEnumOrder(int order) {
switch (order) {
case 1:
return FIRST;
case 2:
return SECOND;
default:
return null;
}
}
}
在使用的地方
ORDER first = ORDER.getEnumOrder(1);
方式二:字符串拼接
public enum ORDER {
ORDER_1, ORDER_2;
}
在使用的地方
ORDER first = ORDER.valueOf("ORDER_" + 1);
方式三:枚举数组
public enum ORDER {
FIRST, SECOND;
}
在使用的地方
int order = 1;
ORDER[] orders = ORDER.values();
ORDER first = orders[order - 1];
java 枚举类怎么转换成json
fastjson转化如下: public class Userinfo { private String username; private String password; private Address address; //省略相应的get/set方法 } //json转化单个对象 Userinfo userinfo = JSON.parseObject(jsonString,
用Java语言:从下列Json数组中只展示“productTypeName=公路零担”的数据集?
java处理json,最经典的做法还是将String字符串转换成对象来处理。
需要借助第三方jar包,常见的第三方json处理jar包有:阿里巴巴的fastjson,谷歌的gson还有诸如jackson之类的。
我习惯用gson:
1、引入gson依赖或去网上下载其jar包:
dependency
groupIdcom.google.code.gson/groupId
artifactIdgson/artifactId
version2.3.1/version
/dependency
2、根据json串,定义对象:
首先定义json最外层,我称其为Response,Response中有根节点data:
这里我用了lombok的@Data注解,自动生成getter、setter、toString等方法。
然后定义了根节点对象Data1,里面有Record集合records:
之后就是定义Record的各个字段:
现在我就有了完整的数据结构,使用gson进行转换即可:
接下来拿着response对象进行正常的java逻辑处理就行:
完整代码:
public class TController {
public static void main(String[] args) {
String jsonString = "{\n" +
"\"data\":{\n" +
"\"records\":[\n" +
"{\n" +
"\"couponName\":\"\",\n" +
"\"payTime\":\"2021-11-15 11:11:33\",\n" +
"\"providerEndAddress\":\"\",\n" +
"\"paidMoney\":268,\n" +
"\"weihuUserId\":\"0\",\n" +
"\"productTypeName\":\"公路零担\"\n" +
"},\n" +
"{\n" +
"\"couponName\":\"\",\n" +
"\"payTime\":\"2021-11-15 11:11:33\",\n" +
"\"providerEndAddress\":\"\",\n" +
"\"paidMoney\":268,\n" +
"\"weihuUserId\":\"0\",\n" +
"\"productTypeName\":\"航空运输\"\n" +
"}\n" +
"]\n" +
"}\n" +
"}";
Gson gson = new Gson();
Response response = gson.fromJson(jsonString, Response.class);
Data1 data = response.getData();//取出data
ListRecord records = data.getRecords();//取出records
for (int i = 0; i records.size(); i++) {
//循环判断records中的数据,ProductTypeName不为“公路零担”则移除
if (!"公路零担".equals(records.get(i).getProductTypeName())) {
records.remove(i);
i--;
}
}
data.setRecords(records);//覆盖原有的records
response.setData(data);//覆盖原有的data
System.out.println(gson.toJson(response, Response.class));//转成json字符串输出
}
@Data
private class Response {
private Data1 data;
}
@Data
private class Data1 {
private ListRecord records;
}
@Data
private class Record {
private String couponName;
private String payTime;
private String providerEndAddress;
private String paidMoney;
private String weihuUserId;
private String productTypeName;
}
}
运行结果:
java枚举+json的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java枚举类型enum用法、java枚举+json的信息别忘了在本站进行查找喔。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。