3

我正在开发将文件名和文件路径存储在 NSDictionary 中的应用程序。我的字典就像,

Dict Path : {
    background = "file://localhost/var/mobile/Applications/6118A03F-345B-42D5-AC19-25F6D9AC4484/Documents/background.caf";
    bgMusic = "file://localhost/var/mobile/Applications/6118A03F-345B-42D5-AC19-25F6D9AC4484/Documents/bgMusic.caf";
}

它工作正常,但是当我尝试将字典转换为 JSON 字符串时,

NSString *strPathForSong = [json stringWithObject:dictPath];
        NSLog(@"path sting : %@",strPathForSong);

它返回空字符串。那么有没有办法将具有“/”字符串的字典转换为json字符串?先感谢您

4

1 回答 1

10

将字典转换为 JSON 字符串时,路径分隔符应该不是问题。
您的示例未显示json变量的类型和初始化,但您可以通过以下方式从 dict 获取 JSON 表示:

NSDictionary* jsonDict = @{ @"background": @"file://localhost/var/mobile/Applications/6118A03F-345B-42D5-AC19-25F6D9AC4484/Documents/background.caf",
                            @"bgMusic": @"file://localhost/var/mobile/Applications/6118A03F-345B-42D5-AC19-25F6D9AC4484/Documents/bgMusic.caf"};
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:0 error:nil];
NSString* jsonString = [[NSString alloc] initWithBytes:[jsonData bytes] length:[jsonData length] encoding:NSUTF8StringEncoding];

NSLog(@"Dict:%@", jsonString);

这在这里工作正常(包括正确转义日志行中的路径分隔符)

于 2013-04-26T06:13:22.430 回答