20

我需要使用 Objective-C 将 JSON 数据写入文件。我的数据看起来像这样:

data = {
    "NrObjects" : "7",
    "NrScenes" : "5",
    "Scenes" : [
        { "dataType" : "label", "position" : [20, 20, 300, 300], "value" : "Hello" },
        { "dataType" : "label", "position" : [20, 60, 300, 300], "value" : "Hi There" }
    ]
}

它可能比这更复杂,但我需要知道的是我是否可以使用 Obj-C 来做到这一点,即,创建这种形式的对象,将数据写入文件,然后将其读回。

4

2 回答 2

29

有一个专门为此制作的类,称为NSJSONSerialization

你是这样读的:

NSArray* jsonResponse = [NSJSONSerialization JSONObjectWithData:theResponse
                                                        options:kNilOptions
                                                          error:&error];

并这样写:

NSData* jsonData = [NSJSONSerialization dataWithJSONObject:userDetails
                                                   options:kNilOptions 
                                                     error:&error];
于 2012-11-28T03:23:31.597 回答
4

写:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:jsonObject];
[data writeToFile:path atomically:YES];

读:

NSData *data = [NSData dataWithContentsOfFile:path];
NSDictionary *jsonObject = [NSKeyedUnarchiver unarchiveObjectWithData:data];
于 2014-11-26T01:34:57.420 回答