タグ: JSON XML
- 作成者投稿
- 2017年8月5日 2:43 pm #24002TM参加者
EmEditor を使ってる人はプログラムだったり、HTTP アクセスのレスポンス解析とかで使ってる人が多いと思います。
今現在当方は JSON や XML の整形に WEB サービスやオンラインソフトを使用していますが、これを EmEditor 本体のみで対応してくれた有りがたいです。
2017年8月6日 1:44 am #24004Yutaka EmuraキーマスターTM 様
いつもお世話になっております。江村です。
標準入力、標準出力に対応しているプログラムを使えば、外部ツールの機能を使って、JSON や XML の整形の機能ができます。
たとえば、HTML や XML でしたら、HTML Tidy を使って、
https://jp.emeditor.com/text-editor-features/extensibility/external-tools/
にある画面図のように設定していただければ可能です。
JSON の場合、jq が使えます。
https://stedolan.github.io/jq/
この Windows 版をダウンロードして、外部ツールを次のように設定します。
タイトル: Json
コマンド: jq の完全パスとファイル名
引数: . (ピリオド)
[アウトプット バーを使用する] にチェック
[終了時に閉じる] にチェック
入力: 「文書」を選択
出力: 「文書と置換」を選択
エンコード: 「UTF-8」を選択
標準エラー: 「アウトプット バーとして表示」を選択以上、お試しいただければ幸いです。
よろしくお願い申し上げます。
2017年8月8日 1:51 am #24006TM参加者ありがとうございます。
希望する動作のことが出来ました。
2021年3月12日 12:39 pm #29705seena417参加者こちらに便乗で質問させてください。
Emuraさんのご回答にありました通りの設定を行い、JSONをjqで整形させております。
対象となるJSONが大きいと、EmEditorが応答なしとなってしまうようです。
今そのような状況になっているのは、EmEditorで開いた時に11,390文字とウィンドウ右下に表示されているサイズのものになります。
これは何とかなりますでしょうか。2021年3月12日 12:40 pm #29706seena417参加者環境としては以下の状況です。
Windows 10 1909 64bit
メモリ 12GB
EmEditor 20.5.6 64bit版
以上、よろしくお願いいたします。2021年3月13日 1:04 am #29707Yutaka Emuraキーマスターseena417 様
いつもお世話になっております。
念のため、最新版の v20.5.911 でお試しいただけると幸いです。
それでも問題が再現する場合、サンプル ファイルと画面図を zip に圧縮し、再現する条件、手順などを書いて、tech @ emurasoft.com 宛にお送りいただけると幸いです。
よろしくお願い申し上げます。
2021年3月16日 10:01 am #29717seena417参加者Emura様
ご回答ありがとうございます。先ほど更新チェッカーの設定を変更し、ベータ版を含めるように設定を行ったところ、EmEditorは20.5.915になった模様です。
問題となるjsonファイルで再度jqでの整形を行ったところ、同じように応答なしとなってしまいました。ただファイルサイズの問題ではないようです。
別ファイルのもっと大きなjsonファイルでは問題なくjqで整形できました。「応答なし」となってしまうjsonファイルは外部に出すことができないもので、サンプルファイルを送付することができません。申し訳ありません。
外部に提出しても問題がなく、同じ状況になるjsonファイルがありましたら、ぜひとも送付させていただきます。
(なおそのjsonファイルは、AWSのSESで設定セットを利用し、イベントをFirehose経由でS3に書き出したものになります)追加情報としては、CentOS 7系にてEPELにてパッケージされているjq 1.5では対象のファイルでも問題なく整形されます。
(Windowsにインストールしたjqは1.6になります)2021年3月16日 10:11 am #29718seena417参加者追加情報です。
サクラエディタ Ver 2.3.2.0にて、「外部コマンド実行」からjq-win64.exeをフルパスで指定し、
標準出力を得る UTF8
標準入力に送る UTF8
出力先リダイレクト先 編集中のウィンドウ
としたところ、当方で問題となっているjsonファイルが整形されました。問題となっているファイルをサンプルとしてお送りできないのが残念です…。
2021年3月17日 12:40 am #29719Yutaka Emuraキーマスターseena417 様
いつもお世話になっております。
まず、念のため、jq だけで問題なく整形できるか、以下のマニュアルを参考にして確認してください。
https://stedolan.github.io/jq/manual/
問題がない場合には、EmEditor の問題の可能性があります。
外部ツールの設定で、出力は、「新規文書の作成」として問題が改善するかどうかお試しください。また、エンコードをシステム既定など、他のエンコードに変更してみてください。問題の json ファイル内に日本語などが含まれている場合は、正しいエンコードで保存されているかご確認ください。また、日本語の部分をすべてカットしても問題が再現するかお試しください。
問題の json ファイルを Anonymize (匿名化) して提供していただくことも無理でしょうか? 例えば、EmEditor の置換ダイアログで、[正規表現] をチェックして、[a-z] を a にすべて置換していただくと、匿名化できますが、正しくない json となってしまう場合があるので、さらに条件付き置換する必要はあるかもしれません。
よろしくお願い申し上げます。
2021年3月17日 3:14 pm #29722seena417参加者Emura様
お世話になっております。問題が起きているWindowsマシンにて、コマンドプロンプトで以下のように実行したところ、問題なく整形されました。
type ファイル名 | jq-win64.exe
外部ツールの設定にて、出力を「新規文書の作成」にしても状況は改善しませんでした。
また日本語が含まれているjsonファイルです。
エンコードについては、当該jsonファイルをEmEditorで開いた時には、UTF-8(BOM無し)として認識しておりましたので、エンコードもシステム規定からUTF-8やアクティブな文書と同じにしても状況は改善しておりません。「ツール」→「外部ツール」→「Json」と選択したときに、正常に動作するときはウィンドウ下部に一瞬「アウトプット」の枠が表示されますが、問題となっているJsonファイルで実行する際には、この「アウトプット」の領域部分が、少し崩れた形で停止してしまいます。
そのため「標準エラー」の項目が関係しているかとも思い「アウトプットバーとして表示」から「破棄」に変えても状況は改善しませんでした。ただ、こちらで対象のJsonファイルを少しずつ切り出して同じように整形させようとしたところ、問題が起こる箇所が少し見えてきました。
今は時間が難しいのでこれ以上確認できませんが、その部分であれば匿名化が出来そうな気がします。
匿名化した上で同じ症状がおこるようでしたら、メールにてお送りさせていただきます。 - 作成者投稿
- このトピックに返信するにはログインしてください。