iOS中的JSON解析是一種非常常見的操作,但是有時候我們需要對特殊格式的JSON進行解析,這就需要一些特別的方法來實現。
在這種情況下,我們可以使用iOS內置的JSON解析庫NSJSONSerialization來解析。但是由于這些JSON格式不是標準的格式,因此我們需要手動處理JSON字符串。
以下是一個例子,其中jsonString是一個特殊格式的JSON字符串。
NSString *jsonString = @"{\n \"items\": [{\n \"id\": \"1\",\n \"name\": \"name1\",\n \"values\": [\"value1\", \"value2\", \"value3\"]\n }, {\n \"id\": \"2\",\n \"name\": \"name2\",\n \"values\": [\"value4\", \"value5\", \"value6\"]\n }]\n}";
我們可以使用以下代碼來解析這些特殊的JSON格式:
NSError *error = nil; id result = [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:&error]; if (error) { NSLog(@"Error: %@", error.localizedDescription); } else { NSArray *items = [result objectForKey:@"items"]; for (NSDictionary *dict in items) { NSString *idStr = [dict objectForKey:@"id"]; NSString *nameStr = [dict objectForKey:@"name"]; NSArray *values = [dict objectForKey:@"values"]; NSString *valueStr = [values componentsJoinedByString:@", "]; NSLog(@"id: %@, name: %@, values: %@", idStr, nameStr, valueStr); } }
以上代碼會將JSON中的每個項目解析出來,并按照我們需要的格式輸出。再處理其他特殊的JSON格式時,只需要調整代碼來適應特定格式即可。
上一篇css 左浮動 右適應
下一篇vue開發模式編譯