使用键从 2 个 JSON 对象创建单个 JSON 字符串



所以我有两个对象:

对象 1:

{
"Details": {
"name": "John"
"age": 34
}
}

对象 2:

{
"MoreInfo": {
"Title": "Mr"
}
}

我想从这两个对象创建一个 JSON 对象,如下所示:

{
"Details1": {
"Details": {
"name": "John"
"age": 34
}
},
"Details2": {
"MoreInfo": {
"Title": "Mr"
}
}
}

我已经尝试了各种不同的方法(转换为字典并合并,附加额外的字符串{(,但我似乎无法解决这个问题。 有人有什么想法吗?

不知道为什么要使用可变字典...

NSDictionary *details1 = @{
@"Details": @{
@"name": @"John",
@"age": @34
}
};
NSDictionary *details2 = @{
@"MoreInfo": @{
@"Title": @"Mr"
}
};
NSData *data = [NSJSONSerialization dataWithJSONObject:@{
@"Details1": details1,
@"Details2": details2
}
options:NSJSONWritingPrettyPrinted
error:nil];
NSLog(@"n%@", [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding]);

输出

{
"Details2" : {
"MoreInfo" : {
"Title" : "Mr"
}
},
"Details1" : {
"Details" : {
"name" : "John",
"age" : 34
}
}
}

我不确定,但我认为这行代码可以帮助您

NSDictionary *userInfo = @{ @"name": @"John",@"age": @34 };
NSDictionary *userMoreInfo = @{ @"Title": @"Mr", };
NSDictionary *Details = [NSDictionary dictionaryWithObject:userInfo forKey:@"Details"];
NSDictionary *MoreInfo = [NSDictionary dictionaryWithObject:userMoreInfo forKey:@"MoreInfo"];
NSMutableDictionary *finalDictThatWants = [NSMutableDictionary new];
[finalDictThatWants setObject:Details forKey:@"Details1"];
[finalDictThatWants setObject:MoreInfo forKey:@"Details2"];

最新更新