如何在iPhone中使用Plist文件创建父级和子级我有一个json对象。这个对象来自web服务。我想尝试使用plist文件创建一个树结构。
我可以以编程方式创建plist文件吗?使用json对象
{
"component":[
{
"id":1006,
"name":"Image test 2",
"child":[
{
"id":1101,
"name":"component score mcq"
},
{
"id":1105,
"name":"component we score"
},
{
"id":1095,
"name":"a"
},
{
"id":1103,
"name":"component scq score"
},
{
"id":1134,
"name":"Hi this is my first blog from lesson"
},
{
"id":1106,
"name":"abc"
},
{
"id":1102,
"name":"component fitb score"
},
{
"id":1096,
"name":"testkrupsvideo"
},
{
"id":1104,
"name":"component either score"
},
{
"id":1099,
"name":"krupsblog updated"
},
{
"id":1224,
"name":"krupsforum updated"
},
{
"id":1127,
"name":"reading parent topic test"
},
{
"id":1093,
"name":"abc"
},
{
"id":1128,
"name":"ankit parent topic"
},
{
"id":1129,
"name":"test topic for component",
"child":[
{
"id":1228,
"name":"krupsud"
},
{
"id":1253,
"name":"06-12-2012 we updated"
},
{
"id":1130,
"name":"topic reading"
},
{
"id":1251,
"name":"06-12-2012 fitb"
},
{
"id":1225,
"name":"krupsvideo updated"
},
{
"id":1249,
"name":"06-12-2012 mcq"
},
{
"id":1250,
"name":"06-12-2012 scq"
},
{
"id":1226,
"name":"krupsaudio updated"
},
{
"id":1227,
"name":"krupsflash updated"
},
{
"id":1252,
"name":"06-12-2012 eo"
}
]
},
{
"id":1124,
"name":"First dlr wiki for positive test",
"child":[
{
"id":1125,
"name":"Component wiki"
}
]
},
{
"id":1126,
"name":"bhushan reading dlr"
}
]
}
]
}
是的,为什么不在NSDictionary中获取JSON对象并按照您定义的路径写入文件。
因为json是NSDictionary对象。
NSString *filePath=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/myfile.plist"];
[dictionary writeToFile:filePath atomically:YES];
将以下代码粘贴到viewDidLoad中,您将在此处定义的文件路径中获得您的plist
NSString *jsonString=@"{"component":[ { "id":1006, "name":"Image test 2", "child":[ { "id":1101, "name":"component score mcq" }, { "id":1105, "name":"component we score" }, { "id":1095, "name":"a" }, { "id":1103, "name":"component scq score" }, { "id":1134, "name":"Hi this is my first blog from lesson" }, { "id":1106, "name":"abc" }, { "id":1102, "name":"component fitb score" }, { "id":1096, "name":"testkrupsvideo" }, { "id":1104, "name":"component either score" }, { "id":1099, "name":"krupsblog updated" }, { "id":1224, "name":"krupsforum updated" }, { "id":1127, "name":"reading parent topic test" }, { "id":1093, "name":"abc" }, { "id":1128, "name":"ankit parent topic" }, { "id":1129, "name":"test topic for component", "child":[ { "id":1228, "name":"krupsud" }, { "id":1253, "name":"06-12-2012 we updated" }, { "id":1130, "name":"topic reading" }, { "id":1251, "name":"06-12-2012 fitb" }, { "id":1225, "name":"krupsvideo updated" }, { "id":1249, "name":"06-12-2012 mcq" }, { "id":1250, "name":"06-12-2012 scq" }, { "id":1226, "name":"krupsaudio updated" }, { "id":1227, "name":"krupsflash updated" }, { "id":1252, "name":"06-12-2012 eo" } ] }, { "id":1124, "name":"First dlr wiki for positive test", "child":[ { "id":1125, "name":"Component wiki" } ] }, { "id":1126, "name":"bhushan reading dlr" } ] } ] }";
NSData* data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dictionary=[[NSDictionary alloc] initWithDictionary:[NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: nil]];
NSString *filePath=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/myfile.plist"];
[dictionary writeToFile:filePath atomically:YES];