软件应用教程

Android JSON写入类 – JsonWriter Android开发技术

Android JSON写入类 – JsonWriter Android开发技术

   在Android 3.0中新增了一个JSON写入类android.util.JsonWriter,使用JsonWriter可以轻松的生成JSON格式的数据,比如下面的JSON数据为

   [
   {
     "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
     }
   }
 ]}

   上面的JSON数据在Android 3.0 honeycomb上的写入代码为

  public void writeJsonStream(OutputStream out, List messages) throws IOException {
     JsonWriter writer = new JsonWriter(new OutputStreamWriter(out, "UTF-8"));  //android开发网提示这是UTF-8编码
     writer.setIndent("  ");
     writeMessagesArray(writer, messages);
     writer.close();
   
 
   public void writeMessagesArray(JsonWriter writer, List messages) throws IOException {
     writer.beginArray();
     for (Message message : messages) {
       writeMessage(writer, message);
     }
     writer.endArray();
   }
 
   public void writeMessage(JsonWriter writer, Message message) throws IOException {
     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();
   }
 
   public void writeUser(JsonWriter writer, User user) throws IOException {
     writer.beginObject();
     writer.name("name").value(user.getName());
     writer.name("followers_count").value(user.getFollowersCount());
     writer.endObject();
   }
 
   public void writeDoublesArray(JsonWriter writer, List doubles) throws IOException {
     writer.beginArray();
     for (Double value : doubles) {
       writer.value(value);
     }
     writer.endArray();
   }}

  这里我们可以看到Android 3.0开始的JsonWriter类可以很轻松的写入json格式的数据流,整个类的成员有

 Public Constructors
 JsonWriter(Writer out) //公共构造方法,参数为Writer类这是一个I/O类的对象
 
Public Methods
JsonWriter  beginArray()
Begins encoding a new array.
JsonWriter  beginObject()
Begins encoding a new object.
void  close()
Flushes and closes this writer and the underlying Writer.
JsonWriter  endArray()
Ends encoding the current array.
JsonWriter  endObject()
Ends encoding the current object.
void  flush()
Ensures all buffered data is written to the underlying Writer and flushes that writer.
boolean  isLenient()
Returns true if this writer has relaxed syntax rules.
JsonWriter  name(String name)
Encodes the property name.
JsonWriter  nullValue()
Encodes null.
void  setIndent(String indent)
Sets the indentation string to be repeated for each level of indentation in the encoded document.
void  setLenient(boolean lenient)
Configure this writer to relax its syntax rules.
JsonWriter  value(double value)
Encodes value.
JsonWriter  value(long value)
Encodes value.
JsonWriter  value(Number value)
Encodes value.
JsonWriter  value(boolean value)
Encodes value.
JsonWriter  value(String value)
Encodes value.

 我们平时需要注意的就是API Level为honycomb才能调用,同时上面代码为utf-8编码,写入时保证流清空记住调用flush方法将缓存写入到流中。

软件应用教程

更多有关于 软件应用教程

如何利用火车采集软件采集58招聘信息_爬虫软件技术与爬虫软件网页数据采集器门户

什么是火车采集器 如何使用火车采集器软件_爬虫软件技术与爬虫软件网页数据采集器门户

如何使用火车采集器制作zencart数据包来进行批量导入商品_爬虫软件技术与爬虫软件网页数据采集器门户

火车头采集器的DedeCMS5.7文章免登陆发布接口_爬虫软件技术与爬虫软件网页数据采集器门户

火车头采集器如何把浏览器里面的cookie到火车头采集器里面_爬虫软件技术与爬虫软件网页数据采集器门户

火车头采集器教程之如何通过fiddler获取cookie简单教程_爬虫软件技术与爬虫软件网页数据采集器门户

火车头采集器FTP设置 图片下载上传的路径的设置_爬虫软件技术与爬虫软件网页数据采集器门户

火车头采集器文件图片下载路径设置简易说明_爬虫软件技术与爬虫软件网页数据采集器门户

火车采集器采集淘宝天猫商品采集多页获取宝贝详细教程_爬虫软件技术与爬虫软件网页数据采集器门户

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2016 Tadke.com. Powered by Wordpress.