【发布时间】:2017-06-13 04:56:30
【问题描述】:
我需要根据响应形成一个 JSON 格式的可变数组,最初我从数据库中获取 ID,我需要检查一个空数组,然后在数组运行时根据键值向数组添加元素下次数组包含 ID 所以我必须将 KEY 和 Values 附加到各自的 ID
这是我的示例代码:
if ([hashTableArr1 containsObject:assignItmId]) {
// [testDict setObject:assignItmId forKey:@"id"];
[testDict2 setObject:keyname forKey:@"keyname"];
[testDict2 setObject:value forKey:@"value"];
[hashTableArr addObject:testDict2];
[testDict setObject:hashTableArr forKey:@"result"];
[hashTableArr1 addObject:testDict];
}
else{
NSMutableDictionary *dict1 = [[NSMutableDictionary alloc]init];
NSMutableArray *arr1 = [[NSMutableArray alloc]init];
NSMutableDictionary *dict2 = [[NSMutableDictionary alloc]init];
[dict2 setObject:assignItmId forKey:@"id"];
[dict1 setObject:keyname forKey:@"keyname"];
[dict1 setObject:value forKey:@"value"];
[arr1 addObject:dict1];
[dict2 setObject:arr1 forKey:@"result"];
[hashTableArr1 addObject:dict2];
}
我的输出是:
(
{
id = "1";
result = (
{
keyname = "Date";
value = "06-02-2017";
}
);
},
{
id = "1";
result = (
{
keyname = Vendor;
value = "";
}
);
},
{
id = "1";
result = (
{
keyname = Owner;
value = XXX;
}
);
},
预期结果:
(
{
id = "1";
result = (
{
keyname = "Purchase Date";
value = "06-02-2017";
},
{
keyname = Vendor;
value = "";
},
{
keyname = Owner;
value = XXX;
}
);
}
请更新合适的解决方案
【问题讨论】:
-
您是否使用循环来填充数据?如果您使用,请添加整个代码。
-
是的,该进程将在循环模式下运行
-
@batMan007 - 如果要添加字典数组,则使用
addObjectFromArray而不是addObject
标签: ios objective-c arrays json nsmutablearray