Мне нужно удалить двойные кавычки из JSON для использования в NSDictionary - PullRequest
1 голос
/ 12 октября 2010

У меня есть возврат JSON, который я пытаюсь сохранить в NSDictionary, однако, поскольку в возвращаемых данных есть пробелы, Словарь не сохранит этот массив из-за включенной цитаты. Есть ли способ разобрать SBJSON, чтобы удалить двойные кавычки перед сохранением в rowArray?

  rowsArray: {
 Rows =     (
            {
        Children =             (
                            {
                Title = Chevy;
            },
                            {
                Title = "Red Color";
            },
                            {
                Title = "Pre - 1965";
            },
                            {
                Title = "White Walls";
            },           
        );
        Title = Chevy;
    },

Вот код // JSON NSURL REQUEST для rowArray

    NSURL *url = [NSURL URLWithString:@"http://www.**.php"];
    NSString *jsonreturn = [[NSString alloc] initWithContentsOfURL:url ]


    SBJSON *json = [[SBJSON alloc] init];
    NSError *error = nil;
    rowsArray= [json objectWithString:jsonreturn error:&error];

NSLog(@"rowsArray: %@",rowsArray);


//SAVING rowsArray as "FollowingArray.plist"

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *path2 = [documentsDirectory stringByAppendingPathComponent:@"FollowingArray.plist"];


    [rowsArray writeToFile:path2 atomically:NO];


    [jsonreturn release];
    [json release];

Это отлично работает и сохраняет, если строка, в которой находится Chevy, но если там есть двойные кавычки, .plist не сохранит

Спасибо

Michael

1 Ответ

0 голосов
/ 12 октября 2010

Самый простой способ удалить все кавычки - использовать:

-[NSString stringByReplacingOccurrencesOfString: withString:]

вроде так:

NSString *cleanedString=[jsonreturn stringByReplacingOccurrencesOfString:@"/"" withString:@""];

"/" является escape-символом для кавычек.

...