SoFunction
Updated on 2025-04-05

Detailed explanation of JSON to PLIST instances in IOS development

IOS JSON to PLIST

Read JSON data from the file and write it to the file. The implementation code is as follows:

NSString *path = @"/Users/android_ls/Desktop/city_province.json"; 
  NSArray *array = [NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfFile:path] options:NSJSONReadingMutableLeaves error:nil]; 
  [array writeToFile:@"/Users/android_ls/Desktop/city_province.plist" atomically:YES]; 

Note: The above code snippet must be run on the simulator

If the above code snippet is changed to the following:

NSString *path = [[NSBundle mainBundle] pathForResource:@"city_province.json" ofType:nil]; 
MyLog(@"path = %@",path); 
 
NSArray *array = [NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfFile:path] options:NSJSONReadingMutableLeaves error:nil]; 
 
NSString *newPath = [NSString stringWithFormat:@"%@%@",[[NSBundle mainBundle] bundlePath],@"/city_province.plist" ]; 
 MyLog(@"newPath = %@", newPath); 
 
[array writeToFile:newPath atomically:YES]; 

Note: Before testing, copy the city_province.json file to the Supporting Files directory.

Put it on the simulator to test, print the LOG as follows:

2014-10-15 22:38:03.224 YWBAPP[11578:60b] path = /Users/android_ls/Library/Application Support/iPhone Simulator/7.1/Applications/0909D47B-A2B6-467D-9E19-396A73383D8A//city_province.json
2014-10-15 22:38:03.225 YWBAPP[11578:60b] newPath = /Users/android_ls/Library/Application Support/iPhone Simulator/7.1/Applications/0909D47B-A2B6-467D-9E19-396A73383D8A//city_province.plist

Put it on the real machine to test, print the LOG as follows:

2014-10-15 22:40:59.796 YWBAPP[3127:60b] path = /var/mobile/Applications/4DAB17CC-F307-4D1B-B78D-80E9B5B4343F//city_province.json
2014-10-15 22:40:59.805 YWBAPP[3127:60b] newPath = /var/mobile/Applications/4DAB17CC-F307-4D1B-B78D-80E9B5B4343F//city_province.plist

The path is correct, but the file cannot be found in the corresponding directory.

Thank you for reading, I hope it can help you. Thank you for your support for this site!