我在网络连接不可用时使用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. 如何将JSON数据转换为Rails中的PList数据?
- 2. 将plist格式文本转换为json格式
- 3. 将JSON转换为.plist
- 4. PHP - 将JSON转换为Plist?
- 5. 如何将数据帧转换为JSON格式中的R
- 6. 如何使用SBJSON iPhone SDK将数据转换为JSON格式?
- 7. 如何将json数据转换为BPMN兼容格式?
- 8. 如何将数据从JSON转换为php格式
- 9. 如何将请求数据转换为json或dict格式
- 10. JSON - 如何将纯文本格式转换为json格式?
- 11. 将数据从接收的JSON格式转换为JVectorMap格式
- 12. 将POST数组转换为json格式
- 13. PHP - 将JSON格式转换为数组
- 14. 将表格数据转换为JSON
- 15. 将nsstring数据转换为nsarray(plist)
- 16. 将json格式转换为其他数组类型json格式
- 17. JSON格式 - 将数据集转换为JSON
- 18. 如何将pdf格式的marathi数据转换为excel格式
- 19. 如何将数据从长格式转换为宽格式?
- 20. 如何将json转换为数据表?
- 21. 如何将gridview数据转换为Json?
- 22. XSD模式将XML数据转换为JSON格式的问题
- 23. 如何将此格式转换为perl中的JSON格式?
- 24. jquery json http post - 如何将发布数据转换为json格式?
- 25. 将对象转换为plist文件再转换为数据
- 26. 如何转换为SVM数据格式
- 27. 如何通过使用spark将json数据转换为表格格式
- 28. 如何将数据转换成所需的JSON格式
- 29. 如何将列表数据转换成JSON格式
- 30. 如何sqlite3的数据转换成JSON格式和CSV格式
EitherDictOrArray(根据你数据的顶部电平)的代码可用于读取/转换成plist数据((对对象类有一些限制))。可以将DictOrArray读取/转换为JSON(对对象类有一些限制)。你有什么尝试? – Larme