当前位置: 首页 > 面试题库 >

在iOS中从NSDictionary生成JSON字符串

伯英锐
2023-03-14
问题内容

我有dictionary我需要生成JSON string使用dictionary。可以转换吗?你们可以帮忙吗?


问题答案:

这是NSArray和NSDictionary的类别,它使此操作变得非常容易。我为漂亮打印添加了一个选项(换行和标签使阅读更容易)。

@interface NSDictionary (BVJSONString)
-(NSString*) bv_jsonStringWithPrettyPrint:(BOOL) prettyPrint;
@end

@implementation NSDictionary (BVJSONString)

  -(NSString*) bv_jsonStringWithPrettyPrint:(BOOL) prettyPrint {
     NSError *error;
     NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self
                                                   options:(NSJSONWritingOptions)    (prettyPrint ? NSJSONWritingPrettyPrinted : 0)
                                                     error:&error];

     if (! jsonData) {
        NSLog(@"%s: error: %@", __func__, error.localizedDescription);
        return @"{}";
     } else {
        return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
     } 
 }
@end

@interface NSArray (BVJSONString)
- (NSString *)bv_jsonStringWithPrettyPrint:(BOOL)prettyPrint;
@end

@implementation NSArray (BVJSONString)
-(NSString*) bv_jsonStringWithPrettyPrint:(BOOL) prettyPrint {
    NSError *error;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self
                                                       options:(NSJSONWritingOptions) (prettyPrint ? NSJSONWritingPrettyPrinted : 0)
                                                         error:&error];

    if (! jsonData) {
        NSLog(@"%s: error: %@", __func__, error.localizedDescription);
        return @"[]";
    } else {
        return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    }
}
@end


 类似资料:
  • 问题内容: 在我的iOS 5应用中,我有一个包含JSON字符串的。我想将该JSON字符串表示形式反序列化为本地对象。 我尝试了以下方法: 但这会引发运行时错误。我究竟做错了什么? 问题答案: 看起来您在传递参数,而应该在其中传递参数:

  • 问题内容: 我正在努力用Java生成JSON字符串。 实际输出: 预期输出: 问题答案: 写 代替

  • 问题内容: 我想要一个5个字符串,该字符串由从集合中随机选择的字符组成。 用JavaScript做到这一点的最佳方法是什么? 问题答案: 我认为这将为您工作:

  • 问题内容: 在我的iOS Swift应用程序中,我想生成随机UUID( GUID )字符串用作表键,此代码段 似乎 可以正常工作: 这样安全吗? 还是有更好的(推荐)方法? 问题答案: 试试这个: 迅捷3/4/5

  • 问题内容: 我是一名新的iOS开发人员。我想知道如何在Swift中生成条形码。 我已经有了代码,可以从多种资源中学习如何读取条形码,但是我没有发现任何有关从字符串生成条形码的内容。 非常感谢! PS:我知道对此也有类似的问题,但这是针对Objective-C的。我不了解Obj-C,但发现来自.NET很难。 问题答案: 您可以使用CoreImage()过滤器来做到这一点! ~~~~ 较新的版本,且初

  • 我试图从一个zip字符串生成一个数据矩阵,使用Java中的Zstar,结果是java.lang.IllegalArgumentException:消息包含ISO-8859-1编码之外的字符。 代码为: 我正在寻找任何解决方案来用这些特殊字符编码ZIP文件,而不一定用Zxing。