首页>>后端>>java->Gson流式序列化JsonWriter

Gson流式序列化JsonWriter

时间:2023-12-01 本站 点击:0

通常我们序列化使用时,是直接使用Gson将整个对象转换为Json串,如果有看过Gson源码的小伙伴会发现其内部实际上是基于JsonWriter来实现流式序列化的

接下来我们来看一下JsonWriter的使用姿势

首先需要获取JsonWriter对象,在创建时需要指定输出流

JsonWriterwriter=newJsonWriter(newOutputStreamWriter(System.out));

接下来看一下流式的序列化输出可以怎么整

writer.beginObject().name("name").value("一灰灰blog").name("age").value(24).name("email").nullValue().endObject();writer.close();

注意上面的实现,对于普通对象而言,流式使用 beginObject() 开头,使用endObject()结尾

在中间,通过 name指定json串的key,value为json串的值

比如上面的执行输出为

{"name":"一灰灰blog","age":24,"email":null}

如果对象内部嵌套了对象或者数组,同样是通过beginObject/beginArray来处理

JsonWriterwriter=newJsonWriter(newOutputStreamWriter(System.out));writer.beginObject().name("name").value("一灰灰blog").name("age").value(24).name("email").nullValue().name("skill").beginArray().value("Java").value("Python").endArray().endObject();writer.close();

输出如下:

{"name":"一灰灰blog","age":24,"email":null,"skill":["Java","Python"]}

公众号:一灰灰blog


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/java/5514.html