objective-c - 如何在 iOS 中创建一个 json 文件?

标签 objective-c ios json cocoa-touch

我有一些数据,需要创建一个具有这种结构的 json 文件:

{"eventData":{"eventDate":"Jun 13, 2012 12:00:00 AM","eventLocation":{"latitude":43.93838383,"longitude":-3.46},"text":"hjhj","imageData":"raw data","imageFormat":"JPEG","expirationTime":1339538400000},"type":"ELDIARIOMONTANES","title":"accIDENTE"}

请有人给我一些代码如何将我的数据放入具有这种结构的 json 文件中,或者至少是一个关于如何制作 json 结构的示例?

编辑

好的,所以我写了一些代码:

NSString *jsonString = @"[{\"eventData\":{\"eventDate\":\"Jun 13, 2012 12:00:00 AM\",\"eventLocation\":{\"latitude\":43.93838383,\"longitude\":-3.46},\"text\":\"hjhj\",\"imageData\":\"raw data\",\"imageFormat\":\"JPEG\",\"expirationTime\":1339538400000},\"type\":\"ELDIARIOMONTANES\",\"title\":\"accIDENTE\"}]";

    NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
    NSError *e;
    NSMutableArray *jsonList = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&e];
    NSLog(@"jsonList: %@", jsonList);

jsonList 现在是一个 json 文件了???它的格式正确吗??因为当我打印它时输出是:

jsonList: (
        {
        eventData =         {
            eventDate = "Jun 13, 2012 12:00:00 AM";
            eventLocation =             {
                latitude = "43.93838383";
                longitude = "-3.46";
            };
            expirationTime = 1339538400000;
            imageData = "raw data";
            imageFormat = JPEG;
            text = hjhj;
        };
        title = accIDENTE;
        type = ELDIARIOMONTANES;
    }
)

最佳答案

你看过Apple's "NSJSONSerialization" class了吗?然而?它从 iOS 5.0 开始可用。

您可以使用它将 Objective C 对象转换为 JSON 数据流,您可以将其传送到您的网络服务。

如果您想支持 5.0 之前的操作系统,还有其他可用的可能性 (take a look at this related question)。

关于objective-c - 如何在 iOS 中创建一个 json 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11157162/

相关文章:

ios - 通过 iOS 11 中的应用程序组共享用户默认值不起作用

ios - 无法使用 PureLayout 设置 ScrollView

java - gson 将特定字段解释为大写

json - 我希望 Swift 程序中 "self.q"中的值也能打印到 xcode 控制台

json - 通过 Cloudformation 在 S3 存储桶上创建 SQS 事件时,通知目标服务区域对于存储桶位置约束无效

objective-c - 如何以编程方式在 iOS 中按下 "dictate"键盘键(Objective-C)

ios - 如何修复 UIViewController 已经消失时调用 viewDidScroll 的错误?

ios - 如何在 block 内或 block 外打印完整数组?

ios - 如何在Xcode中从 'first throw call stack'获取信息

ios - 使用swift在ios上同时播放音频和振动