将JsonObject附加到包含JsonArray的现有文件,而不会覆盖整个文件

时间:2015-07-21 07:03:29

标签: android json

我正在使用 offset 属性(REST Api)获取JSON,这使我可以获得所需数量的元素。所以我需要将新json数据附加到文件中的现有数据。

我的目标是在我的应用程序中实现无限滚动列表。

目前我能够重新初始化整个数据覆盖现有文件,从而导致更多的内存消耗时间

有没有办法在不覆盖整个文件的情况下附加新传入的JSON

  

JSON已存储在文件

[
  {
    "id": "1",
    "title": "Laudantium quae labore nesciunt voluptate dignissimos ut vitae.",
    "description": "Modi consequuntur rerum qui beatae. At voluptatibus cum omnis quia sit. Sunt explicabo nemo architecto eum voluptate quo.",
    "created_at": "2015-07-16 15:50:21",
    "updated_at": "2015-07-20 21:41:41",
    "category": {
      "id": "16",
      "name": "Quia animi occaecati sequi.",
      "slug": "quia-animi-occaecati-sequi",
    }
  }
]
  

期望的结果

[
  {
    "id": "1",
    "title": "Laudantium quae labore nesciunt voluptate dignissimos ut vitae.",
    "description": "Modi consequuntur rerum qui beatae. At voluptatibus cum omnis quia sit. Sunt explicabo nemo architecto eum voluptate quo.",
    "created_at": "2015-07-16 15:50:21",
    "updated_at": "2015-07-20 21:41:41",
    "category": {
      "id": "16",
      "name": "Quia animi occaecati sequi.",
      "slug": "quia-animi-occaecati-sequi",
    }
  },
  {
    "id": "2",
    "title": "Laudantium quae labore nesciunt voluptate dignissimos ut vitae.",
    "description": "Modi consequuntur rerum qui beatae. At voluptatibus cum omnis quia sit. Sunt explicabo nemo architecto eum voluptate quo.",
    "created_at": "2015-07-16 15:50:44",
    "updated_at": "2015-07-20 21:41:57",
    "category": {
      "id": "23",
      "name": "Quia animi occaecati sequi.",
      "slug": "quia-animi-occaecati-sequi",
    }
  }
]

1 个答案:

答案 0 :(得分:-1)

试试这个:

JSONArray sourceArray = new JSONArray(string2);
JSONArray destinationArray = new JSONArray(string1);

for (int i = 0; i < sourceArray.length(); i++) {
    destinationArray.put(sourceArray.getJSONObject(i));
}

String s3 = destinationArray.toString(); // write it into your file