2013年5月7日火曜日

JSON Editorという名のJSON Editorが多すぎてビビった

最近、アプリ内の設定ファイルなどにjsonを使ってみてます。
plistも悪くないのですが、Xcode上のエディタがあまり使いやすく無かったので、なかなか使う気になれなかったのです。

iOS 5以降からFoundationフレームワークに、NSJSONSerializationクラスが実装されて、パースするのに余計なライブラリを入れなくて済むようになったのも大きいです。

以下のようなコードで、NSArrayかNSDictionaryにパースしたデータが取れます。
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"some" ofType:@"json"];
NSData *jsonData = [NSData dataWithContentsOfFile:filePath];
if (jsonData==nil) {
    NSLog(@"ファイルがありませんでした。");
} else {
    NSError *jsonParsingError = nil;
    id obj = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&jsonParsingError];
    NSLog(@"json root = %@",obj);
    if (jsonParsingError) {
        NSLog(@"Parsing error: %@", jsonParsingError.localizedDescription);
    }
}
id objが何の型になるかは、元のjsonデータに依存するようです。


JSONフォーマット用のエディタが欲しい!

本格的に使うには、やっぱりテキストエディタよりも、JSONフォーマットに特化したエディタが欲しくなります。

検索すれば容易に見つかると思っていましたが、「JSON Editor」という名のエディタばかりがヒットしてしまい、しかも、それぞれ違うものだったりして、びっくりしました。

Apple StoreにCocoa JSON Editorなるものを見つけましたが、レビューを見ると、良いツールだけどクラッシュする事もあると書かれておりビビります。(仕事で使うので)
有料アプリでなので、試用出来れば良かったのですが、サポートサイトを観ても無いようだったので、今回は見送りました。

Adobe AIR版もある、JSON Editor powered by katamari inc.を試してみました。
こちらは、僕の使い方が悪いのか、要素の位置を変えることがコピペでしかできませんでした。
Array内の要素の順番を入れ替えたい時に、コピペで要素を挿入したあと、配列NO(キー)が変わってくれないので、手で入力し直さなければなりませんでした。残念ながら、ここで断念しました。

そして今現在、使っているのが、JSON Editor Onlineです。
こちらは、Chromeのエクステンション版があったので、そちらをインストールしています。
慣れるまでは、ゼロから要素を入力するのにも悩んだエディタでしたが、要素の移動に関しては直感的で使いやすいです。

Chromeのエクステンション版は、ファイルのオープンにOS標準のファイラーが立ち上がるのが良いです。保存は、Saveボタンを押すと、Chromeでファイルをダウンロードするのと同じ要領で行われます。注意点は、毎回同じファイル名でダウンロードされるところです。

関連記事

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...