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?