在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
自己想尝试一下自己写出json文件,或许可以用来写一些配置文件的内容,比如说是不同的设备的型号的不同的字体、颜色,或者说是要展示一些内容的时候根据这个json文件来写明不同的内容显示成不同的字体、颜色。当然可能并没说会有这种需求。那都没关系。之前都是从后台给的接口获取json文件,这次自己尝试一下自己写个json文件感觉也挺好。 代码如下: 1 /** 2 试着得到一个json格式的json字符串 3 4 @return json格式的json字符串 5 */ 6 - (NSString *)WriteJsonTest{ 7 NSArray *currentDeviceArr = @[@"ipad mini",@"ipadAir2",@"ipad9.7",@"iPadPro10.5",@"iPad12.9"]; 8 NSArray *fontSizeArr = @[@18,@20,@22,@24,@26]; 9 NSArray *colorArr = @[@"red",@"blue",@"yellow",@"black",@"white"]; 10 NSMutableArray <NSMutableDictionary *>*arrM = [NSMutableArray array]; 11 for (NSInteger i = 0; i <fontSizeArr.count; i++) { 12 NSMutableDictionary *dictM = [NSMutableDictionary dictionary]; 13 [dictM setObject:currentDeviceArr[i] forKey:@"currentDeviceType"]; 14 [dictM setObject:colorArr[i] forKey:@"color"]; 15 [dictM setObject:fontSizeArr[i] forKey:@"fontSize"]; 16 [arrM addObject:dictM]; 17 } 18 NSData *data = [NSJSONSerialization dataWithJSONObject:arrM options:NSJSONWritingPrettyPrinted error:nil]; 19 NSString * jsonStr = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; 20 //下边以字符串的形式打印出来内容可以直接放到查看json文件的地方,转换为json。直接转换出的json有时把中括号又变成小括号还有可能逗号的数目也有问题等。 21 WWLog(@"%@",jsonStr); 22 id json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil]; 23 if ([NSJSONSerialization isValidJSONObject:json]) { 24 WWLog(@"有效json"); 25 }else{ 26 WWLog(@"无效json"); 27 } 28 WWLog(@"%@",json); 29 return jsonStr; 30 } 打印结果如下: 2017-08-24 11:51:07.494 WWDemo[5180:131035] -[WWTestUIViewController WriteJsonTest] [Line 52] [ { "color" : "red", "currentDeviceType" : "ipad mini", "fontSize" : 18 }, { "color" : "blue", "currentDeviceType" : "ipadAir2", "fontSize" : 20 }, { "color" : "yellow", "currentDeviceType" : "ipad9.7", "fontSize" : 22 }, { "color" : "black", "currentDeviceType" : "iPadPro10.5", "fontSize" : 24 }, { "color" : "white", "currentDeviceType" : "iPad12.9", "fontSize" : 26 } ] 2017-08-24 11:51:07.494 WWDemo[5180:131035] -[WWTestUIViewController WriteJsonTest] [Line 56] 有效json 2017-08-24 11:51:07.495 WWDemo[5180:131035] -[WWTestUIViewController WriteJsonTest] [Line 60] ( { color = red; currentDeviceType = ipad mini; fontSize = 18; } , { color = blue; currentDeviceType = ipadAir2; fontSize = 20; } , { color = yellow; currentDeviceType = ipad9.7; fontSize = 22; } , { color = black; currentDeviceType = iPadPro10.5; fontSize = 24; } , { color = white; currentDeviceType = iPad12.9; fontSize = 26; } , ) 把上边的获得的jsonStr复制到json在线解析工具后可以看到如下图片
如有错误 敬请指正 如需转载 请注明出处 谢谢
|
请发表评论