ネットワーク接続が利用できないときにplistを使用してローカルにデータを保存しています。ネットワークが利用可能なときは、ローカルに保存したデータをWebサーバーに同期します。このプロセスでは、plistデータをJSONデータに変換したいそのデータをWebサーバーに送信します。誰かが私にこれを手伝うことができますか?PlistデータをJSON形式に変換するには?
答えて
あなたは、このコードでそれを行うことができます。
NSMutableDictionary *plistDic = [[NSMutableDictionary alloc] initWithContentsOfFile: path];
あなたは以後、JSON文字列を取得するには、それをシリアライズ辞書形式でPLISTからのデータにアクセスすることができます。
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
他の回答は廃止されたメソッド 'dictionaryWithContentsOfFile' /' initWithContentsOfFile'を使っているので、まだこの回答をupvotingしています。これはObjective-Cに書き直すのが簡単です –
はEitherDictOrArray(あなたのデータの最上位レベルに応じて)を使用することができる
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形式に変換する
- 2. AngularJSでjson形式を別のjson形式に変換する
- 3. java.sql.timestampをJson形式に変換する
- 4. テキストデータをJson形式に変換する
- 5. NSDataをplist形式でJavaの文字列に変換する
- 6. 受け取ったJSON形式からJVectorMap形式にデータを変換する
- 7. rds形式のデータをR形式のshp形式に変換するには?
- 8. PythonがExcelスプレッドシートのデータをjson形式に変換する
- 9. オブジェクト形式をjson形式に変換する方法
- 10. JSONを.plistに変換する
- 11. jquery json http post - 投稿データをjson形式に変換する方法は?
- 12. JSONデータを表形式のPDFに変換しますか?
- 13. この形式をPerlでJSON形式に変換するには?
- 14. SBJSON iPhone SDKを使用してデータをJSON形式に変換するには?
- 15. JSONP形式をJSON形式に変換する方法はありますか?
- 16. JSONオブジェクトを日付形式に変換するには?
- 17. pandas Seriesを希望のJSON形式に変換するには?
- 18. jsonをSOAPでXML形式に変換するには
- 19. このデータをサーバーからjson形式にアンドロイドで変換する方法は?
- 20. このデータ形式をJSONに変換する方法の例は?
- 21. SQL Serverのクエリ結果のデータをJSON形式に変換する方法は?
- 22. XML形式のデータをRaw形式のデータに変換する方法
- 23. 長い形式のデータを1行の形式のデータに変換する
- 24. D3のJSON形式に変換するには?
- 25. Json形式を変更するには?
- 26. JSON形式を変更するには?
- 27. MetaStock形式をCSV形式に変換するには?
- 28. Rのデータ形式を変換する
- 29. VBAデータ変換texte形式
- 30. Pythonで表形式のCLI出力をJSON形式に変換する
以下のコードを使用plistデータの読み込み/変換((オブジェクトクラスのいくつかの制限付きで))。 EitherDictOrArrayはJSONから読み込み/変換できます(オブジェクトクラスの制限があります)。何を試しましたか? – Larme