Objective-C写出Json文件(可作配置文件)

时间:2021-10-29 17:14:47

自己想尝试一下自己写出json文件,或许可以用来写一些配置文件的内容,比如说是不同的设备的型号的不同的字体、颜色,或者说是要展示一些内容的时候根据这个json文件来写明不同的内容显示成不同的字体、颜色。当然可能并没说会有这种需求。那都没关系。之前都是从后台给的接口获取json文件,这次自己尝试一下自己写个json文件感觉也挺好。

代码如下:

 /**
试着得到一个json格式的json字符串 @return json格式的json字符串
*/
- (NSString *)WriteJsonTest{
NSArray *currentDeviceArr = @[@"ipad mini",@"ipadAir2",@"ipad9.7",@"iPadPro10.5",@"iPad12.9"];
NSArray *fontSizeArr = @[@,@,@,@,@];
NSArray *colorArr = @[@"red",@"blue",@"yellow",@"black",@"white"];
NSMutableArray <NSMutableDictionary *>*arrM = [NSMutableArray array];
for (NSInteger i = ; i <fontSizeArr.count; i++) {
NSMutableDictionary *dictM = [NSMutableDictionary dictionary];
[dictM setObject:currentDeviceArr[i] forKey:@"currentDeviceType"];
[dictM setObject:colorArr[i] forKey:@"color"];
[dictM setObject:fontSizeArr[i] forKey:@"fontSize"];
[arrM addObject:dictM];
}
NSData *data = [NSJSONSerialization dataWithJSONObject:arrM options:NSJSONWritingPrettyPrinted error:nil];
NSString * jsonStr = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
//下边以字符串的形式打印出来内容可以直接放到查看json文件的地方,转换为json。直接转换出的json有时把中括号又变成小括号还有可能逗号的数目也有问题等。
WWLog(@"%@",jsonStr);
id json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
if ([NSJSONSerialization isValidJSONObject:json]) {
WWLog(@"有效json");
}else{
WWLog(@"无效json");
}
WWLog(@"%@",json);
return jsonStr;
}

打印结果如下:

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在线解析工具后可以看到如下图片

Objective-C写出Json文件(可作配置文件)

如有错误 敬请指正

如需转载 请注明出处 谢谢