Objective c- 获取 json 数组中的子 json 字符串
Posted
技术标签:
【中文标题】Objective c- 获取 json 数组中的子 json 字符串【英文标题】:Objective c- get sub json string in json array 【发布时间】:2017-05-11 11:30:13 【问题描述】:我有一个像这样格式的 JSON
"MaintanenceHeaders":[],
"MaintanenceRules":[ ],
"FaultRules":[]
如何在不解析字符串的情况下获取 json 字符串 MaintenanceHeaders? 像: “MaintanenceHeaders”:[]
【问题讨论】:
不解析如何获取字符串?你能详细说明你的问题吗? 我在通话后得到 json 字符串。它有6个对象。我想将一个对象作为字符串。就像我在通话后得到一个对象 Sefa,作为初学者尝试从 Google 自己实现。顺便说一句,您以字典的形式获取数据,因此请尝试通过 KEY 'MaintanenceHeaders' 获取价值。按照几个链接进行解析,例如roadfiresoftware.com/2016/12/how-to-parse-json-with-swift-3appcoda.com/fetch-parse-json-ios-programming-tutorial。此外,'[' 代表 ARRAY,而 '' 代表字典 将其转换为字典。然后,将MaintanenceHeaders":[]
转换为 JSON 字符串。
【参考方案1】:
给你:
- (void)viewDidLoad
[super viewDidLoad];
NSDictionary *dict = @@"MaintanenceHeaders":@[@@"M1":@"V1", @"M1":@"V2", @@"M2":@"V1", @"M2":@"V2"],
@"MaintanenceRules":@[@@"M3":@"V1", @"M3":@"V2"],
@"FaultRules":@[@@"F1":@"V1", @"F1":@"V2"];
for (NSString *key in dict)
id object = dict[key];
NSString *output = [NSString stringWithFormat:@"\"%@\":%@", key, [self jsonStringFromObject:object]];
NSLog(@"Output: %@", output);
- (NSString *)jsonStringFromObject:(id)object
NSError * err;
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:object options:0 error:&err];
NSString * jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
return jsonString;
输出:
Output: "MaintanenceHeaders":["M1":"V1","M2":"V1"]
Output: "MaintanenceRules":["M3":"V1"]
Output: "FaultRules":["F1":"V1"]
【讨论】:
以上是关于Objective c- 获取 json 数组中的子 json 字符串的主要内容,如果未能解决你的问题,请参考以下文章