How to append new data to an existing JSON array(swiftyJSON)

后端 未结 6 1039
梦谈多话
梦谈多话 2021-01-08 00:55

I have an array of SwiftyJson data that I have declared and filled it with data .The code I\'m using to fill the hoge array is this : self.hoge = JSON(data: data!)

6条回答
  •  庸人自扰
    2021-01-08 01:20

    Swift 2-4

    Another solution, using Extension

    extension JSON{
        mutating func appendIfArray(json:JSON){
            if var arr = self.array{
                arr.append(json)
                self = JSON(arr);
            }
        }
        
        mutating func appendIfDictionary(key:String,json:JSON){
            if var dict = self.dictionary{
                dict[key] = json;
                self = JSON(dict);
            }
        }
    }
    

    Use:

    var myJSON: JSON = [
        "myDictionary": [String:AnyObject](),
        "myArray" : [1,2,3,4]
    ]
    
    myJSON["myDictionary"].appendIfDictionary(key:"A", json: JSON(["key1":"value1"]))
    myJSON["myDictionary"].appendIfDictionary(key: "B", json: JSON(["key2":"value2"]))
    myJSON["myArray"].appendIfArray(json: JSON(5))
    

    print:

    {
      "myArray" : [
        1,
        2,
        3,
        4,
        5
      ],
      "myDictionary" : {
        "B" : {
          "key2" : "value2"
        },
        "A" : {
          "key1" : "value1"
        }
      }
    }
    

提交回复
热议问题