JsonWriter使用
Example:
拼一个如下的json格式String
{
[
{
"id": 912345678901,
"text": "How do I write JSON on Android?",
"geo": null,
"user": {
"name": "android_newb",
"followers_count": 41
}
},
{
"id": 912345678902,
"text": "@android_newb just use android.util.JsonWriter!",
"geo": [
50.454722,
-104.606667
],
"user": {
"name": "jesse",
"followers_count": 2
}
}
]
}
关键代码:
public static String writeJsonStream(List<Message> messages)throwsIOException{
if(messages!=null &&
messages
.size() > 0){
ByteArrayOutputStream out = new ByteArrayOutputStream();
JsonWriter writer = new JsonWriter(new OutputStreamWriter(out, "UTF-8"));
writer.setIndent("");
writeMessagesArray(writer, messages); writer.close();
byte[] bytes = out.toByteArray(); return new String(bytes)
;
}
return null;
}
private static void writeMessagesArray(JsonWriter writer,List messages)throwsIOException{
writer.beginArray();
for(Message message : messages){
writeMessage(writer, message);
}
writer.endArray();
}
private static void writeMessage(JsonWriter writer,Message message)throwsIOException{ writer.beginObject(); writer.name("id").value(message.getId()); writer.name("text").value(message.getText()); if(message.getGeo()!=null){ writer.name("geo"); writeDoublesArray(writer, message.getGeo()); }else{ writer.name("geo").nullValue(); } writer.name("user"); writeUser(writer, message.getUser()); writer.endObject();} private static void writeUser(JsonWriter writer,User user)throwsIOException{ writer.beginObject(); writer.name("name").value(user.getName()); writer.name("followers_count").value(user.getFollowersCount()); writer.endObject();} private static void writeDoublesArray(JsonWriter writer,List doubles)throwsIOException{ writer.beginArray(); for(Double value : doubles){ writer.value(value); } writer.endArray(); }
转载于:https://www.cnblogs.com/bravestarrhu/p/3605623.html
JsonWriter使用相关推荐
- org.apache.struts2.json.JSONWriter can not access a member of class
偶遇一个问题:org.apache.struts2.json.JSONWriter can not access a member of class org.apache.tomcat.dbcp.d ...
- C#.Net 使用 JsonReader/JsonWriter 高性能解析/生成 Json 文档
Swifter.Json 是由本人编写的高性能且多功能的 Json 解析库.下图是 Swifter.Json 与 .Net 平台上的其他 Json 库性能对比: 在 Swifter.Json 近期更新 ...
- Class com.googlecode.jsonplugin.JSONWriter ca...
2019独角兽企业重金招聘Python工程师标准>>> http://blog.csdn.net/tnqin/article/details/7831284 转载于:https:// ...
- Json.Net学习笔记
Json.Net学习笔记 摘自: http://www.verydemo.com/demo_c360_i45119.html 分类: 编程语言/ ASP.NET/ 文章 导读:string goog ...
- 从一个Bug开始,重新认识一个强大的 Gson
点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:Mafly, 地址:www.cnblogs.com/mafly/p/gson.html 从 ...
- json jsono wsdl_记录一下json的生成
在UE4里json的生成也很简单,不过我觉得我用的方法还是比较麻烦的,又简单的欢迎大神指导. void HandleJsonData::MakeTestRegisterJson(const TShar ...
- Retrofit全攻略——进阶篇
最近事比较多,距离上次写文章已经过去了一个月了.上一篇文章Retrofit全攻略--基础篇 介绍了Retrofit的基础用法,这篇文章介绍点进阶的用法. 打印网络日志 在开发阶段,为了方便调试,我们需 ...
- json.net使用说明一
json.net灵活的实现.net对象和json之间进行转换,且性能比其他两种json序列化性能更高,使用方便简单.json.net使用的好处有如下几种: 序列化和反序列化JSON(JsonConve ...
- Asp.net Core1.1创建简单WebAPI对Mongodb进行CRUD操作
1.使用VS2017建立一个.netcore1.1的WebAPI项目 选择webAPI模板 2.添加mongodb驱动 工具--NuGet包管理器--程序包管理控制台: Install-Package ...
最新文章
- 基于webuploader.js的单图片上传封装
- XGBoost对比RandomForest、GBDT、决策树、SVM,XGB+LR精度还能提升
- 现代制造工程课堂笔记07——应力应变分析(考点应力莫尔圆)
- SpringBootAdmin服务端
- 详解SMS下OSD2008
- 穷举法破解集合小游戏~
- 中文分词算法工具hanlp源码解析
- 乐山计算机学校搬迁,【骨头再次发贴】谈谈新校区。
- pokemon go 和 虚拟gps
- python爬虫+selenium模拟点击+网页内容需要点击打开
- java一元二次方程用if_用javascript写一个求一元二次方程的页面 用JAVA写一个求解一元二次方程的类...
- installing selected parcels阶段卡在activating状态
- Trie(前缀树,prefix tree)
- html 怎么转换,将 HTML 转换成任意你想要的形式!
- c++传输二进制数据
- ssh隧道连接的3种方式
- VIF-Benchmark: All infrare and visible image fusion method in one framework
- 第一行代码-android-第三版-pdf扫描-思维导图-课件-源码
- 更改NavMenu 导航菜单激活时的背景颜色
- python通过url获取文件名和文件的后缀