我可以以编程方式创建plist吗?使用json对象



如何在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];

最新更新