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

网站制作方案报价建设用地规划公示在哪个网站查

网站制作方案报价,建设用地规划公示在哪个网站查,泰安集团网站建设,高大上的网站欣赏1. 背景 在部分使用场景(如元数据驱动,后台接口仅返回序列化后的json字符串,前端需要根据每个字段在前端呈现),需要手动设置字段的长度。通常情况下,框架是有默认的顺序,如 jackson 默认使用字…

1. 背景

在部分使用场景(如元数据驱动,后台接口仅返回序列化后的json字符串,前端需要根据每个字段在前端呈现),需要手动设置字段的长度。通常情况下,框架是有默认的顺序,如 jackson 默认使用字段声明的顺序, fastjson 默认是使用字典序。在这种业务场景下,就需要我们可以手动指定序列化后字段的顺序。

这里分别使用 jackson 和 fastjson 两种框架。

2. 使用 jackson

使用注解 @JsonPropertyOrder 声明具体的字段顺序。如 @JsonPropertyOrder({"city", "age", "name"}) 。具体参考实例程序。

pom依赖:

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.14.3</version>
</dependency>

Java 验证程序:

package com.ysx.utils.json.jackson;import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Getter;
import lombok.Setter;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;/*** @author youngbear* @email youngbear@aliyun.com* @date 2023-10-15 22:15* @blog <a href="https://blog.csdn.net/next_second">...</a>* @github <a href="https://github.com/YoungBear">...</a>* @description*/
@DisplayName("使用jackson设置序列化时字段的顺序")
public class JsonFieldOrderTest {@Test@DisplayName("默认顺序:字段声明的顺序")public void defaultOrderTest() throws JsonProcessingException {Student1 student = new Student1();student.setName("John");student.setAge(25);student.setCity("Beijing");ObjectMapper objectMapper = new ObjectMapper();String json = objectMapper.writeValueAsString(student);// {"name":"John","age":25,"city":"Beijing"}Assertions.assertEquals("{\"name\":\"John\",\"age\":25,\"city\":\"Beijing\"}", json);}@Test@DisplayName("使用@JsonPropertyOrder指定顺序")public void userJsonPropertyOrderTest() throws JsonProcessingException {Student2 student = new Student2();student.setName("John");student.setAge(25);student.setCity("Beijing");ObjectMapper objectMapper = new ObjectMapper();String json = objectMapper.writeValueAsString(student);// {"city":"Beijing","age":25,"name":"John"}Assertions.assertEquals("{\"city\":\"Beijing\",\"age\":25,\"name\":\"John\"}", json);}@Getter@Setterpublic static class Student1 {private String name;private Integer age;private String city;}@Getter@Setter@JsonPropertyOrder({"city", "age", "name"})public static class Student2 {private String name;private Integer age;private String city;}
}

3. 使用 fastjson

有两种方法,

  • 使用 @JsonField 的 ordinal 指定顺序,数越小优先级越高,默认为0。
  • 使用@JSONType的orders属性指定字段顺序

详细参考实例程序:

pom依赖:

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.41</version>
</dependency>

程序:

package com.ysx.utils.json.fastjson;import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.annotation.JSONField;
import com.alibaba.fastjson2.annotation.JSONType;
import lombok.Getter;
import lombok.Setter;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;/*** @author youngbear* @email youngbear@aliyun.com* @date 2023-10-15 21:28* @blog <a href="https://blog.csdn.net/next_second">...</a>* @github <a href="https://github.com/YoungBear">...</a>* @description*/
@DisplayName("使用fastjson设置序列化时字段的顺序")
public class JsonFieldOrderTest {@Test@DisplayName("默认顺序:字典序")public void defaultOrderTest() {Student1 student = new Student1();student.setName("John");student.setAge(25);student.setCity("Beijing");String json = JSON.toJSONString(student);// {"age":25,"city":"Beijing","name":"John"}Assertions.assertEquals("{\"age\":25,\"city\":\"Beijing\",\"name\":\"John\"}", json);}@Test@DisplayName("使用@JsonField的ordinal指定顺序,数越小优先级越高,默认为0")public void userJsonFieldOrdinalTest() {Student2 student = new Student2();student.setName("John");student.setAge(25);student.setCity("Beijing");String json = JSON.toJSONString(student);// {"name":"John","age":25,"city":"Beijing"}Assertions.assertEquals("{\"name\":\"John\",\"age\":25,\"city\":\"Beijing\"}", json);}@Test@DisplayName("使用@JSONType的orders属性指定字段顺序")public void userJsonPropertyOrderTest() {Student3 student = new Student3();student.setName("John");student.setAge(25);student.setCity("Beijing");String json = JSON.toJSONString(student);// {"name":"John","age":25,"city":"Beijing"}Assertions.assertEquals("{\"name\":\"John\",\"age\":25,\"city\":\"Beijing\"}", json);}@Getter@Setterpublic static class Student1 {private String name;private Integer age;private String city;}@Getter@Setterpublic static class Student2 {@JSONField(ordinal = 1)private String name;@JSONField(ordinal = 2)private Integer age;@JSONField(ordinal = 3)private String city;}@Getter@Setter@JSONType(orders = {"name", "age", "city"})public static class Student3 {private String name;private Integer age;private String city;}
}

源代码github地址

http://www.yayakq.cn/news/403962/

相关文章:

  • 网站怎么添加链接代码seo线上培训班
  • 厦门专业做网站的在哪里建网站免费
  • 不到网站是为什么网红营销套路
  • 做国际网站怎么发货湖南建筑信息平台
  • 唐山哪个公司可以制作网站制作网页网站小说教程
  • 深圳做网站公司哪家好软件开发公司哪家强
  • seo网站诊断书衡水做外贸网站
  • 专业建设物流行业网站微官网入口
  • 成都网站seo分析免费字体设计 常见网站
  • 用花生壳做映射的网站需要备案产品销售类网站 模板
  • app 微网站品牌策划论文
  • 搬家网站建设思路怎样可以开网站
  • 医保局网站建设如何做英文网站推广
  • 商城网站建设目标特定网站开发
  • 网站怎样盗链图片网络游戏免费加盟代理
  • 做了静态网站怎么显示在互联网上做一个门户网站多少钱
  • 免费有趣的网站网店装修论文
  • 动漫网站建设策划书龙岗网站
  • 网站开发后端选择开锁公司网站源码
  • 网站开发语言一般是用什么成都有什么好玩的
  • 做专题页的背景网站wordpress图片显示距离
  • 网站seo推广排名二维码引流推广的平台
  • 电子商务网站的建站流程黄志达设计公司官网
  • 浙江省建设工程招投标网站专业推广引流团队
  • 网站demo怎么做备案网站名称怎么写个人
  • 需要外包团队做网站怎么提需求小语种网站
  • 建设网站是不是要买服务器河南郑州暴雨伤亡
  • 西宁电子商务网站建设建设网站要先给钱才能做
  • 网站维护的主要内容包括建英文网站有用吗
  • 网站运营频道内容建设类似微分销的平台