我在网络连接不可用时使用plist在本地保存数据,当网络可用时,我想将本地保存的数据同步到Web服务器。在此过程中,我想将我的plist数据转换为JSON数据,将该数据发布到Web服务器。任何人都可以帮助我吗?如何将Plist数据转换为JSON格式?
回答
你可以做到这一点与此代码:
NSMutableDictionary *plistDic = [[NSMutableDictionary alloc] initWithContentsOfFile: path];
您可以从字典格式的plist访问数据序列化从那时起它来获得JSON字符串。
NSString *path = [[NSBundle mainBundle] pathForResource:@"yourPlistName" ofType:@"plist"];
NSData* data = [NSData dataWithContentsOfFile:path];
NSDictionary* dict= [NSPropertyListSerialization propertyListFromData:data
mutabilityOption:NSPropertyListImmutable
format:NSPropertyListXMLFormat_v1_0
errorDescription:NULL];
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict
options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
----- SWIFT 3 -----
if let url = Bundle.main.url(forResource:"yourPlistName", withExtension: "plist") {
do {
let data = try Data(contentsOf:url)
let dict = try PropertyListSerialization.propertyList(from: data, options: [], format: nil) as! [String:Any]
let jsonData = try JSONSerialization.data(withJSONObject: dict , options: .prettyPrinted)
// jsondata your required data
} catch {
print(error)
}
}
您的答案在Swift中,作者将问题标记为Objective-C –
我的错误。我将在Objective-C中进行更新。谢谢!! – luckyShubhra
仍然upvoting这个答案,因为其他答案使用废弃的方法'dictionaryWithContentsOfFile' /'initWithContentsOfFile'。这个很容易改写为Objective-C –
使用下面
NSString * plistPath = @“data.plist”;
NSMutableDictionary *plistData = [[NSMutableDictionary alloc] initWithContentsOfFile: plistPath];
NSError * err;
NSString * jsonStr = nil;
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:plistData options:0 error:&err];
jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
- 1. 将plist格式文本转换为json格式
- 2. PHP - 将JSON转换为Plist?
- 3. 如何将请求数据转换为json或dict格式
- 4. 如何将数据从JSON转换为php格式
- 5. 如何将json数据转换为BPMN兼容格式?
- 6. 将数据从接收的JSON格式转换为JVectorMap格式
- 7. 将POST数组转换为json格式
- 8. PHP - 将JSON格式转换为数组
- 9. 将nsstring数据转换为nsarray(plist)
- 10. 将json格式转换为其他数组类型json格式
- 11. JSON格式 - 将数据集转换为JSON
- 12. 如何将数据从长格式转换为宽格式?
- 13. XSD模式将XML数据转换为JSON格式的问题
- 14. 如何将此格式转换为perl中的JSON格式?
- 15. jquery json http post - 如何将发布数据转换为json格式?
- 16. 如何转换为SVM数据格式
- 17. 如何将列表数据转换成JSON格式
- 18. 如何sqlite3的数据转换成JSON格式和CSV格式
- 19. 如何将此Json数组转换为JQuery可读的格式?
- 20. 将数据转换为angular2格式
- 21. 如何将json数据转换为jQuery中的html表格?
- 22. 将数组格式转换为JSON格式
- 23. 将数据从JSON转换为给定的格式
- 24. 将文本数据转换为Json格式
- 25. 在rails中将数据转换为json格式
- 26. 将数据帧转换为R中的特定格式化JSON
- 27. 将字符串数据转换为JSON格式
- 28. 将数据框转换为嵌套json格式
- 29. 将以下数据转换为python中的JSON格式
- 30. 将API中的JSON数据转换为有用的格式?
EitherDictOrArray(根据你数据的顶部电平)的代码可用于读取/转换成plist数据((对对象类有一些限制))。可以将DictOrArray读取/转换为JSON(对对象类有一些限制)。你有什么尝试? – Larme