首页 > 解决方案 > 获取数据后重构我自己的 JsonArray

问题描述

这是我想要更改的 JsonArray -


[  
   {  
      "email":"orit@hero-apps.io",
      "imageUrl":"***",
      "name":"Orit Malki",
      "videoCounter":31,
      "winningCounter":8
   },
   {  
      "email":"1mdtalent@gmail.com",
      "imageUrl":"***",
      "name":"1MD Talent",
      "videoCounter":14,
      "winningCounter":2
   },
   {  
      "email":"kobi.shasha@gmail.com",
      "imageUrl":"***",
      "videoCounter":13,
      "winningCounter":2
   },
   {  
      "email":"royjohnfriedman@gmail.com",
      "imageUrl":"***",
      "name":"roy friedman",
      "videoCounter":12,
      "winningCounter":3
   },
   {  
      "email":"ekaterina.lando@gmail.com",
      "imageUrl":"***",
      "name":"Ekaterina Lando",
      "videoCounter":7,
      "winningCounter":1
   },
   {  
      "imageUrl":"***",
      "name":"oritheroapps",
      "videoCounter":5,
      "winningCounter":1
   },
   {  
      "email":"info@hero-apps.io",
      "imageUrl":"***",
      "name":"Hero Apps",
      "videoCounter":5,
      "winningCounter":3
   },
   {  
      "email":"xiaomiheroapps@gmail.com",
      "imageUrl":"***",
      "name":"xiaomi Heroapps",
      "videoCounter":4,
      "winningCounter":0
   },
   {  
      "email":"benkl15@gmail.com",
      "imageUrl":"***",
      "name":"Alon Shlider",
      "videoCounter":3,
      "winningCounter":0
   },

   "Mon Sep 02 13:48:42 GMT+03:00 2019"
]

我想将我的 json 数组重构为以下格式 -

[
  "lastUpdate": {time},
  "data" : {//all of that data here}
]

之后我想将它作为树上传到firebase数据,所以这就是我问这个问题的原因。最好的方法是什么?还是我应该保持原样?

标签: androidarrays

解决方案


添加此功能以获得您想要的结果 -

private void getFullProfilesAsJson(ArrayList<YourObject> list) {
   JsonObject object = new JsonObject();
   Gson gson = new Gson();
   JsonArray data = new JsonArray();
   for (Object object : list) {
     JsonElement objectJson = gson.toJsonTree(object);
     data.add(objectJson);
   }
   String time = Calendar.getInstance().getTime().toString();
   JsonElement timeJson = gson.toJsonTree(time);
   retentionFeedJson.add("time", timeJson);
   retentionFeedJson.add("data", data);
   Timber.tag("jsonArray").d(retentionFeedJson.toString());
 }

推荐阅读