日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JsonWriter使用

發布時間:2024/4/14 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。