【发布时间】:2017-05-25 12:34:41
【问题描述】:
我有一个 JSON 响应,我存储为 NSMutableDictionary,如下所示:
{
"list": { "ID1", "ID2", "ID3" },
"items": {
"ID1" : { "name" : "shoe" },
"ID2" : { "name" : "pants" },
"ID3" : { "name" : "hat" }
}
}
我需要让 NSMutableDictionary 添加来自任何其他 JSON 响应的条目,所以如果我收到如下新响应:
{
"list": { "ID4", "ID5", "ID6" },
"items": {
"ID4" : { "name" : "shirt" },
"ID5" : { "name" : "tie" },
"ID6" : { "name" : "glasses" }
}
}
更新后的 NSMutableDictionary 需要如下所示:
{
"list": { "ID1", "ID2", "ID3", "ID4", "ID5", "ID6" },
"items": {
"ID1" : { "name" : "shoe" },
"ID2" : { "name" : "pants" },
"ID3" : { "name" : "hat" },
"ID4" : { "name" : "shirt" },
"ID5" : { "name" : "tie" },
"ID6" : { "name" : "glasses" }
}
}
不幸的是,当我打电话给addEntriesFromDictionary 时,我得到了这个:
{
"list": { "ID1", "ID2", "ID3" },
"items": {
"ID1" : { "name" : "shoe" },
"ID2" : { "name" : "pants" },
"ID3" : { "name" : "hat" }
}
}
"list": { "ID4", "ID5", "ID6" },
"items": {
"ID4" : { "name" : "shirt" },
"ID5" : { "name" : "tie" },
"ID6" : { "name" : "glasses" }
}
}
【问题讨论】:
-
我认为您需要做的就是所谓的“深度合并”,这可能会对您有所帮助:stackoverflow.com/questions/4011781/deep-combine-nsdictionaries
-
我建议您创建一个类来表示您的数据,并使用适当的初始化程序和函数来接受字典,而不是直接依赖字典结构
标签: ios objective-c json nsdictionary nsmutabledictionary