textarea入力のjsonデータを整形する
質問
この特定のトピックを検索しましたが、類似したものを見つけられませんでした。もしあれば、これを閉じて、リンクを教えてください。
私は、jsonデータapiシミュレータを作成しています。私は、ユーザーがjsonオブジェクト要求をコピーして、サーバーに送信する前に修正することができるテキストエリアに貼り付けることができるようにしたい。
問題は、json objのコピー&パスは、しばしば余分なスペースが発生し、preタグを使用しても適切に整列されないということです。また、キーと値に適用される良いカラースキームが必要です。
プラグインや他の質問、コードの断片を見ましたが、テキストが編集可能なtextareasには適用されません。編集モード中に、スタイル付けしたhtmlタグを全て表示させずに、スタイル付けを維持する方法はないでしょうか?javascriptやjqueryで一から書けるようにしたいのですが。
どうすれば解決しますか?
シンタックスハイライトは大変ですが、次のようにチェックしてください。 を使うとjsonオブジェクトがきれいに表示されます。 をテキストエリアに入力すると、きれいに表示されます。JSONが有効である必要があることに注意してください。(エラーを検出するには開発コンソールを使ってください。) Check jsLint をチェックしてください。
HTMLのことです。
<textarea id="myTextArea" cols=50 rows=10></textarea>
<button onclick="prettyPrint()">Pretty Print</button>
jsのことです。
function prettyPrint() {
var ugly = document.getElementById('myTextArea').value;
var obj = JSON.parse(ugly);
var pretty = JSON.stringify(obj, undefined, 4);
document.getElementById('myTextArea').value = pretty;
}
まず、次のような簡単な入力を試してみましょう。{"a":"hello","b":123} のような簡単な入力をしてみてください。
JSONのシンプルできれいな印刷は、割と簡単にできます。以下のjsコードを試してみてください。( jsFiddleはこちら )
// arbitrary js object:
var myJsObj = {a:'foo', 'b':'bar', c:[false,2,null, 'null']};
// using JSON.stringify pretty print capability:
var str = JSON.stringify(myJsObj, undefined, 4);
// display pretty printed object in text area:
document.getElementById('myTextArea').innerHTML = str;
このHTMLの場合
<textarea id="myTextArea" cols=50 rows=25></textarea>
そして、チェックアウト JSON.stringifyのドキュメント .
関連
-
[解決済み] textareaのresizableプロパティを無効にするにはどうしたらよいですか?
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] jQueryで入力を無効化/有効化する?
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み】シンタックスハイライトができるTextarea?
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] moment.jsでミュータビリティを回避するには?
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?