来自NSDictionary的JSON字符串,具有文件路径

时间:2013-04-26 06:01:49

标签: ios objective-c parsing nsstring sbjson

我正在处理我在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);

它返回null字符串。那么有没有办法转换字典" /"串成json字符串? 提前谢谢

1 个答案:

答案 0 :(得分: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);

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