所以我有这个json,其中包含一些对象的数组。
[
{
"id": 1,
"title": "First Object"
},
{
"id": 2,
"title": "Second Object"
},
{
"id": 3,
"title": "Third Object"
}
]
我正在用以下代码解析json
struct MyModel: Codable {
let id: Int?
let title: String?
}
var myModel = [MyModel]()
func decodeData(url: URL) {
do {
let jsonData = try Data(contentsOf: url)
let decoder = JSONDecoder()
myModel = try decoder.decode([MyModel].self, from: jsonData)
} catch let jsonError {
print("Error serializing json", jsonError)
}
}
在读取json时一切正常。我似乎能弄清楚的是如何删除对象并将其插入相同的json文件。
例如,删除“ id” = 2的对象,或在“ id” = 3的对象之后或在“ id” = 1和“ id” = 2的对象之间插入新对象。
我当时想的是将整个json文件读入数组。然后通过删除和添加数组中的元素来修改数组中的数据,然后使用修改后的数组中的所有内容覆盖json文件。
由于某种原因,这种方法似乎不实用。少量对象可能会很好,但是如果/当对象数量达到100+范围内的数字时会发生什么。
我采用正确的方法是将json文件的内容读入数组,然后用Modify数组的内容修改并覆盖json文件,或者是否有实现此目的的正确方法?