我有以下数据结构Snapshot
,它是嵌套数组和字典的组合:
{"Snapshot": {
"ask": [
{
"price": 101.42,
"size": 7
},
{
"price": 101.85,
"size": 5
}
],
"bid": [
{
"price": 89.72,
"size": 79
},
{
"price": 89.71,
"size": 158
}
]
}}
上面的现有结构应该通过以下字典/数组结构中的价格和大小条目进行更新:
{"Refresh": {
"ask": [],
"bid": [
{
"price": 89.71,
"size": 666
}
],
}}
在此示例中,具有size
的{{1}}项的值bid
应从158更新为666.如果价格尚不存在,则为新项目应添加Refresh数据结构的价格和大小。如果price: 89.71
,则应删除价格和尺寸项目。
我尝试使用addEntriesFromDictionary和addObjectsFromArray方法执行此操作,但确实找到了解决问题的方法。
最快的方法是什么? 您如何建议合并这两个数据结构?
谢谢!
答案 0 :(得分:1)
假设字典被命名为快照并刷新...
snapshot[@"Snapshot][@"bid"] = [snapshot[@"Snapshot][@"bid"] arrayByAddingObjectsFromArray:refresh[@"Refresh"][@"bid]];
更复杂的数组联合只需要更多代码。如果你想让价格成为一个独特的钥匙,为什么不把它作为一把钥匙?