「JSON整形」の版間の差分
ナビゲーションに移動
検索に移動
セクションの修正 |
見出しの修正 |
||
| 11行目: | 11行目: | ||
* 2019/03/25 初版 | * 2019/03/25 初版 | ||
== | == ソースコード == | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
(function(){ | (function(){ | ||
2023年7月22日 (土) 18:02時点における版
概要
クリップボードにあるテキスト、または選択しているテキストをJSONとして整形します。
機能
- JavaScriptのJSON.stringifyを利用した簡易JSON整形を行います。
- クリップボードに保存されているテキストをJSON整形し、カーソル位置に貼り付けます。
- クリップボードに保存されていないか、JSONでない場合、選択されているテキストをJSON整形し、選択されているテキストを整形テキストで置き換えます。
- 上記以外の場合、全選択したうえでJSON整形を行います。(全選択したテキストがJSONでない場合は何もしません)
履歴
- 2019/03/25 初版
ソースコード
(function(){
var clipData = ClipboardData.GetData();
//クリップボードにJSONが保存されている
if(clipData != ""){
var json = parseText(clipData);
if(json != ""){
shapeText(json);
window.status = "JSON整形を完了しました。";
return;
}else{
window.status = "JSONのパースに失敗しました。";
return;
}
}
//選択されていない場合は全テキストを選択する
if (!document.selection.Text) {
document.selection.EndOfLine(false);
document.selection.StartOfLine(true);
}
if (document.selection.Text) {
var jsonBefore = parseText(document.selection.Text);
if(jsonBefore == ""){
//JSONパースエラー時はステータスバーにその旨表示
window.status = "JSONのパースに失敗しました。";
return;
}
shapeText(jsonBefore)
window.status = "JSON整形を完了しました。";
}
function parseText( text ){
var ret = "";
try{
var ret = JSON.parse(text);
}catch(error){
//何もしない
}
return ret;
}
function shapeText( text ){
var json = JSON.stringify(text, null, 4);
document.selection.Text = json;
}
})();
スポンサーリンク