ios - 将 JSON 数组附加到数组中的值

标签 ios arrays json swift swifty-json

我有一个具有以下结构的 json 数组

{
        "connection": {
            "established": "yes"
        },
        "ping": {
            "server": "thirteen"
        }
    }

我还有一个简单的服务器名称数组,称为 servers

我的目标是将 servers 数组中的值附加到 Json 数组 - 复制 "connection", "established", "yes", “ping”、“server” 值以及仅修改 “13” 值。

这样最终的结果看起来像这样

{
        "connection": {
            "established": "yes"
        },
        "ping": {
            "server": "fourteen"
        }
    }, 
{
        "connection": {
            "established": "yes"
        },
        "ping": {
            "server": "fifteen"
        }
    }

等等

我尝试实现 SwiftyJSON 数组库,但并不真正理解如何将值附加到 json 本身。

有办法管理吗?

感谢任何见解!

最佳答案

希望这就是您要找的。我花了一些时间才明白你的要求:)

// Initial Data - So called JSON Array
var dict1 = ["connection" : ["established": "yes"], "ping" : ["server" : "twelve"]]
var dict2 = ["connection" : ["established": "yes"], "ping" : ["server" : "thirteen"]]
var array = [dict1, dict2]

// Servers Array
var servers = ["fourteen", "fifteen"]

// First lets filter out dictionary where ping.server = thirteen
let predicate = NSPredicate(format: "ping.server = %@", "thirteen")

// Filtered dictionary
var targetDict = array.filter({
    predicate.evaluateWithObject($0)
})[0]

// Now lets loop on servers and modify filtered dictionary and add to parent array
for server in servers {
    targetDict["ping"]!["server"]! = server
    array.append(targetDict)
}

print("\(array)")

关于ios - 将 JSON 数组附加到数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32794474/

相关文章:

ios - 无法获取 UIAutomation iOS UILabel 值

ios - iOS 测试中未启用后台模式

Javascript - 解析html字符串获取具有类X的每个元素并返回它们的数组

JSON:@Transient 字段未序列化

ios - 从 collectionView didSelectItemAtIndexPath 中获取标签号 - Objective C

ios - 是否可以 'split' UIViewController 并将部件动画到所选单元格的顶部和底部

Javascript 动态附加到数组

将 'space' 连接到数组的末尾

java - 如何在java循环中使用数组连接或组合方法

php - 使用 Json 传递两个查询