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

网络营销推广方案怎么做西安优化外

网络营销推广方案怎么做,西安优化外,网络运营专业的有关大学,汽车网站推广策略有道无术,术尚可求,有术无道,止于术。 本系列Jackson 版本 2.17.0 源码地址:https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 前言2. 案例演示2.1 创建 JsonFactory2.2 创建 JsonGenerator2.3 写入操作2.4 查…

有道无术,术尚可求,有术无道,止于术。

本系列Jackson 版本 2.17.0

源码地址:https://gitee.com/pearl-organization/study-seata-demo

文章目录

    • 1. 前言
    • 2. 案例演示
      • 2.1 创建 JsonFactory
      • 2.2 创建 JsonGenerator
      • 2.3 写入操作
      • 2.4 查看文件

1. 前言

在上一篇我们了解过Jackson包含三大核心模块:

  • jackson-core:核心底层模块,定义了一些底层的流处理API和公共抽象类
  • jackson-annotations:标准注解模块,定义了标准的用于数据处理的相关注解
  • jackson-databind:数据绑定模块,依赖于上面两个模块,定义了用于数据绑定的高层API

其中jackson-core是核心中的核心,其他模块都需要引入,提供了底层的Streaming API和公共类,该模块中有三个非常重要的类:

  • JsonGeneratorJSON生成器,用于写入数据
  • JsonParserJSON解析器,用于读取数据
  • JsonFactoryJSON工厂类,用于创建JsonGeneratorJsonParser

2. 案例演示

当前存在一个用户POJO类,包含了用户基本信息、机构信息、角色信息。

机构对象:

public class Org {// 机构IDprivate Long id;// 机构名称private String orgName;// 机构地址private String address;// 省略 getter\setter..........
}

角色对象:

public class Role {// 角色IDprivate Long id;// 角色名称private String roleName;// 角色编码private String roleCode;// 省略 getter\setter..........
}

用户对象:

public class User {// 用户IDprivate Long id;// 姓名private String name;// 年龄private Integer age;// 所属机构private Org org;// 角色列表private List<Role> roleList;// 省略 getter\setter..........
}

要求使用jackson-core中的API将某个用户对象实例转为如下所示的JSON
在这里插入图片描述

2.1 创建 JsonFactory

首先需要引入jackson-core依赖:

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

JsonFactoryJackson最重要的一个工厂类,用于配置和构建JsonGeneratorJsonParser,其实例是线程安全的,配置后可重复使用, 一般在应用中只使用一个全局共享的工厂实例即可。

JsonFactory可以使用以下两种方式构建:

        // 1. 创建 JsonFactoryJsonFactory jsonFactoryByBuilder =JsonFactory.builder().build(); // 方式一:Builder 构建JsonFactory jsonFactory = new JsonFactory(); // 方式二:直接 new

2.2 创建 JsonGenerator

JsonGenerator是用于生成JSON内容的API的基类,它有很多实现子类:
在这里插入图片描述
JsonGenerator实例必须调用JsonFactory进行创建,JsonFactory提供了多种创建方法:

    // 写入到java.io.DataInput,并指定编码方式public abstract JsonGenerator createGenerator(DataOutput out, JsonEncoding enc) throws IOException;// 写入到java.io.DataInputpublic abstract JsonGenerator createGenerator(DataOutput out) throws IOException;// 写入到文件,并指定编码方式public abstract JsonGenerator createGenerator(File f, JsonEncoding enc) throws IOException;// 写入到java.io.OutputStreampublic abstract JsonGenerator createGenerator(OutputStream out) throws IOException;// 写入到java.io.OutputStream,并指定编码方式public abstract JsonGenerator createGenerator(OutputStream out, JsonEncoding enc) throws IOException;// 写入到java.io.Writerpublic abstract JsonGenerator createGenerator(Writer w) throws IOException;

这里我们直接写入到文件中,并指定编码方式为UTF-8

        // 2. 创建生成器File file = new File("E:\\TD\\pearl\\study-jackson-demo\\jackson-core-demo\\src\\main\\java\\com\\pearl\\jacksoncore\\demo\\file\\user.json");JsonGenerator jsonGenerator = jsonFactory.createGenerator(file, JsonEncoding.UTF8);

上面创建的JsonGenerator实例类型是UTF8JsonGenerator

在这里插入图片描述

2.3 写入操作

接下来我们就可以使用JsonGenerator对象进行写操作了,JSON字符串最外层都是一个大括号{ },所以需要先写一个{

        // 3. 写操作// 3.1 开始写对象=》{jsonGenerator.writeStartObject();

当前JSON内容如下:

{ 

接着写基本数据类型的属性和值:

        // 3.2 写属性、属性值jsonGenerator.writeNumberField("id", 1699632398490275840L); // longjsonGenerator.writeStringField("name", "坤坤"); // StringjsonGenerator.writeNumberField("age", 18); // int

当前JSON内容如下:

{"id":1699632398490275840,"name":"坤坤","age":18 

接着写对象类型的属性和值,首先写入属性值org,然后写入机构对象的属性、值:

        // 3.3 写对象属性  jsonGenerator.writeFieldName("org"); // 属性名称jsonGenerator.writeStartObject(); // 开始写入对象=》{jsonGenerator.writeNumberField("id", 1699967647585800192L); // longjsonGenerator.writeStringField("orgName", "阿里巴巴");jsonGenerator.writeStringField("address", "浙江杭州");jsonGenerator.writeEndObject(); // 结束写入对象=》}

当前JSON内容如下:

{"id":1699632398490275840,"name":"坤坤","age":18,"org":{"id":1699967647585800192,"orgName":"阿里巴巴","address":"浙江杭州"}

接着写对象集合:

        // 3.3 写对象集合jsonGenerator.writeFieldName("roleList"); // 属性名称jsonGenerator.writeStartArray(); // 写入集合开始=》 [ // 第一个角色对象jsonGenerator.writeStartObject(); // 开始写入对象=》{jsonGenerator.writeNumberField("id", 1699972559514243072L); // longjsonGenerator.writeStringField("roleName", "系统管理员");jsonGenerator.writeStringField("roleCode", "ROLE_ADMIN");jsonGenerator.writeEndObject(); // 结束写入对象=》}// 第二个角色对象jsonGenerator.writeStartObject(); // 开始写入对象=》{jsonGenerator.writeNumberField("id", 1701893746586685440L); // longjsonGenerator.writeStringField("roleName", "企业员工");jsonGenerator.writeStringField("roleCode", "ROLE_STAFF");jsonGenerator.writeEndObject(); // 结束写入对象=》}jsonGenerator.writeEndArray();// 写入集合结束=》 ] 

最后写一个结束符号}并关闭流:

       // 4. 结束并关流jsonGenerator.writeEndObject(); // 结束写入对象=》}jsonGenerator.close();

2.4 查看文件

查看生成的文件,可以看到成功写入JSON

在这里插入图片描述

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

相关文章:

  • 杭州企业如何建网站贵州企业网站建设公司
  • 商业网站建设与维护方案书手机app界面设计论文
  • 进入 网站cms免费的ui设计的网站
  • 机构类网站有哪些网站备案怎么取消
  • 天津建设工程信息网网站首页做网站怎么实现在线支付
  • 做网站的一般要多钱深圳公司网站制作
  • 网站页面优化公告企业邮箱申请
  • 网站开发前如何配置电脑dw网站制作素材
  • 开通网站申请大连网络seo公司
  • wordpress 多站点 无法访问wordpress 首页文章列表
  • 作风建设简报--门户网站网站设计 seo
  • 网站排名首页前三位wordpress模板源码
  • 云南建设人力资源网站西安网站建设制作需要哪些费用
  • 北京网站设计培训学校加强网站政务服务建设
  • 2003建立虚拟网站旅游网站首页制作
  • 个人制作网站小程序api
  • 怎样在各大网站做推广做企业门户网站
  • 合肥网站建设搜王道下拉wordpress 缩略图地址
  • 哈尔滨网站建设市场网站推广的优缺点
  • 宝山企业做网站wordpress 转 typecho
  • 鲜花网站建设文档地方网站建设
  • 佛山找人做网站连云港市电信网站建设
  • 十堰网站建设专家赣州城市资讯
  • 天津网站建设优化企业石家庄网站建设远策科技
  • 免费自助小型网站门头设计
  • 东莞厚街做网站沈阳网站建设渠道
  • 如何使用天翼云主机建设网站网络网站公司
  • 学校网站建设与管理徐州英才网最新招聘信息
  • 做网站还有市场吗手机软件用什么开发
  • 网站建设禁止谷歌收录的办法长春网站建设哪家公司好