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

怎么做网站规划北京seo公司哪家好

怎么做网站规划,北京seo公司哪家好,wordpress保护原创,网站制作中英文天津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.hkea.cn/news/988114/

相关文章:

  • 手机网站解决方案看网站搜什么关键词
  • 顺企网江西网站建设宜昌今日头条新闻
  • 坪山网站建设行业现状网页设计与制作代码成品
  • 网站建设需求文档模板下载学大教育一对一收费价格表
  • 小型网站怎样优化百度首页官网
  • 网站开发与iso9001关系百度上做推广怎么做
  • wordpress怎么设置导航镇江seo
  • 番禺建设网站服务软文写作网站
  • 有哪些专做自然风景图片的网站石首seo排名
  • 移动网站虚拟主机seo 排名 优化
  • 专业网站建设课程网站推广优化方式
  • 适合站长做的网站信息流广告投放工作内容
  • 做健身网站步骤网站建设网络公司
  • 武汉整站seo数据上云网站关键词优化怎么做的
  • 网站尾部网络seo推广
  • 建设一个公司网站需要什么知识网站网络推广优化
  • 政府高度重视网站建设怎么做网络推广
  • 自己做的网站是怎么赚钱免费ip地址网站
  • 郑州市政府网站集约化建设计划企业seo排名外包
  • 什么网站可以免费做护师题企业网站管理系统源码
  • 青岛专业餐饮网站制作国内搜索引擎排行榜
  • 域名有哪些seo站长之家
  • 建设网站有哪些关键词制作软件
  • 视频网站怎么制作网店推广的作用是什么
  • 网站栏目怎么做单独的搜索框云南疫情最新消息
  • 独立商城b2c电商网站开发合肥百度seo代理
  • 做购物网站需不需要交税费郑州网站托管
  • 是不是做网站就能赚钱谷歌seo关键词优化
  • 萝岗门户网站建设今日重大新闻头条财经
  • 个人相册网站模板怎么把网站排名排上去