iOS - 如何使用 JSON 和 Objective-C 提取和存储数据

Posted

技术标签:

【中文标题】iOS - 如何使用 JSON 和 Objective-C 提取和存储数据【英文标题】:iOS - How extracting and store data using jSON and objective-c 【发布时间】:2017-03-10 13:59:53 【问题描述】:

我正在开发一个使用 JSON 来保存笔记的应用程序。

具体来说,我有一个 UITableView 和一个“添加”按钮。 每次我按“添加”步骤到另一个具有 3 个文本字段和一个“保存”按钮的视图控制器时。每次按保存时,我都想将文本字段 3 的内容保存在本地一个 JSON 文件(例如,如果我创建 10 个笔记,我就有 10 个 JSON 文件)。

我搜索了在线资料、指南,但没有找到适合我的目的,如果您能帮助我,我将非常高兴! :)

【问题讨论】:

【参考方案1】:

这是一个 JSON 保存到 Objective-C 文件的示例:

NSError *error = nil;
NSMutableDictionary *json = [[NSMutableDictionary alloc] init];
json[@"version"] = @(1);
json[@"content"] = myTextField.text;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:json options:NSJSONWritingPrettyPrinted error:&error];
if (error) 
    NSLog("Error %@ converting dictionary %@ to JSON", error, json);
 else 
    [jsonData writeToFile:fullPath atomically:NO];

【讨论】:

【参考方案2】:

首先用你的 JSON 内容创建一个字典

let json: [String:Any] = [
    "key1": "Hello World!",
    "key2": 1.0
]

然后使用JSONSerialization将其转换为Data对象并将该对象写入磁盘

do 
    let data = try JSONSerialization.data(withJSONObject: json)

    let url = URL(fileURLWithPath: "/path/to/file")
    try data.write(to: url, options: [])

catch 
    print("An error occured : \(error)")

【讨论】:

以上是关于iOS - 如何使用 JSON 和 Objective-C 提取和存储数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 iOS SDK 从 ASMX Web 服务中获取和解析 JSON?

iOS开发系列课程预告

如何在ios中解析json

如何在 swift iOS 中使用 swift 高阶函数从本地 json 创建 ViewModel

如何在 iOS XCode 中为 JSON 定义结构?

我应该如何通过 JSON 在 Rails/iOS 之间设置一个简单的 API?