タグ: 

1 件の投稿を表示中 (合計 10 個)
  • 作成者
    投稿
  • #24002
    TM
    参加者

    EmEditor を使ってる人はプログラムだったり、HTTP アクセスのレスポンス解析とかで使ってる人が多いと思います。

    今現在当方は JSON や XML の整形に WEB サービスやオンラインソフトを使用していますが、これを EmEditor 本体のみで対応してくれた有りがたいです。

    #24004
    Yutaka 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」を選択
    標準エラー: 「アウトプット バーとして表示」を選択

    以上、お試しいただければ幸いです。

    よろしくお願い申し上げます。

    #24006
    TM
    参加者

    ありがとうございます。

    希望する動作のことが出来ました。

    #29705
    seena417
    参加者

    こちらに便乗で質問させてください。
    Emuraさんのご回答にありました通りの設定を行い、JSONをjqで整形させております。
    対象となるJSONが大きいと、EmEditorが応答なしとなってしまうようです。
    今そのような状況になっているのは、EmEditorで開いた時に11,390文字とウィンドウ右下に表示されているサイズのものになります。
    これは何とかなりますでしょうか。

    #29706
    seena417
    参加者

    環境としては以下の状況です。
    Windows 10 1909 64bit
    メモリ 12GB
    EmEditor 20.5.6 64bit版
    以上、よろしくお願いいたします。

    #29707
    Yutaka Emura
    キーマスター

    seena417 様

    いつもお世話になっております。

    念のため、最新版の v20.5.911 でお試しいただけると幸いです。

    それでも問題が再現する場合、サンプル ファイルと画面図を zip に圧縮し、再現する条件、手順などを書いて、tech @ emurasoft.com 宛にお送りいただけると幸いです。

    よろしくお願い申し上げます。

    #29717
    seena417
    参加者

    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になります)

    #29718
    seena417
    参加者

    追加情報です。
    サクラエディタ Ver 2.3.2.0にて、「外部コマンド実行」からjq-win64.exeをフルパスで指定し、
    標準出力を得る UTF8
    標準入力に送る UTF8
    出力先リダイレクト先 編集中のウィンドウ
    としたところ、当方で問題となっているjsonファイルが整形されました。

    問題となっているファイルをサンプルとしてお送りできないのが残念です…。

    #29719
    Yutaka Emura
    キーマスター

    seena417 様

    いつもお世話になっております。

    まず、念のため、jq だけで問題なく整形できるか、以下のマニュアルを参考にして確認してください。

    https://stedolan.github.io/jq/manual/

    問題がない場合には、EmEditor の問題の可能性があります。

    外部ツールの設定で、出力は、「新規文書の作成」として問題が改善するかどうかお試しください。また、エンコードをシステム既定など、他のエンコードに変更してみてください。問題の json ファイル内に日本語などが含まれている場合は、正しいエンコードで保存されているかご確認ください。また、日本語の部分をすべてカットしても問題が再現するかお試しください。

    問題の json ファイルを Anonymize (匿名化) して提供していただくことも無理でしょうか? 例えば、EmEditor の置換ダイアログで、[正規表現] をチェックして、[a-z] を a にすべて置換していただくと、匿名化できますが、正しくない json となってしまう場合があるので、さらに条件付き置換する必要はあるかもしれません。

    よろしくお願い申し上げます。

    #29722
    seena417
    参加者

    Emura様
    お世話になっております。

    問題が起きているWindowsマシンにて、コマンドプロンプトで以下のように実行したところ、問題なく整形されました。
    type ファイル名 | jq-win64.exe

    外部ツールの設定にて、出力を「新規文書の作成」にしても状況は改善しませんでした。
    また日本語が含まれているjsonファイルです。
    エンコードについては、当該jsonファイルをEmEditorで開いた時には、UTF-8(BOM無し)として認識しておりましたので、エンコードもシステム規定からUTF-8やアクティブな文書と同じにしても状況は改善しておりません。

    「ツール」→「外部ツール」→「Json」と選択したときに、正常に動作するときはウィンドウ下部に一瞬「アウトプット」の枠が表示されますが、問題となっているJsonファイルで実行する際には、この「アウトプット」の領域部分が、少し崩れた形で停止してしまいます。
    そのため「標準エラー」の項目が関係しているかとも思い「アウトプットバーとして表示」から「破棄」に変えても状況は改善しませんでした。

    ただ、こちらで対象のJsonファイルを少しずつ切り出して同じように整形させようとしたところ、問題が起こる箇所が少し見えてきました。
    今は時間が難しいのでこれ以上確認できませんが、その部分であれば匿名化が出来そうな気がします。
    匿名化した上で同じ症状がおこるようでしたら、メールにてお送りさせていただきます。

1 件の投稿を表示中 (合計 10 個)
  • このトピックに返信するにはログインしてください。