1. ホーム
  2. javascript

[解決済み] AngularJS フォーマット JSON 文字列出力

2023-02-24 22:56:46

質問

入力からデータを収集し、モデルを文字列に変換するAngularJSアプリケーションを持っています。 JSON.stringify() を使用して文字列に変換し、ユーザーがこのモデルを編集できるようにします。 <textarea> 要素が更新されると入力フィールドが更新され、逆もまた同様です。ある種の双方向バインディングです :)

問題はString自体が醜く見えることで、私はこのように見えるようにフォーマットしたいのです。

そして、今のような姿ではありません。

どのようにしたらこれを実現できるか、何かアイデアはありますか?もし、追加情報が必要なら、遠慮なくお尋ねください。すべての回答は非常に高く評価され、すぐに回答されます。

ありがとうございます。

追伸:これはある種のディレクティブかカスタムフィルタであるべきだと思います。データ自体は変更されるべきではなく、出力のみが変更されます。

どのように解決するのですか?

オプションのパラメータで JSON.stringify()

JSON.stringify(value[, replacer [, space]])

パラメータ

  • JSON文字列に変換する値。
  • レプリケーター もし関数が の場合は、文字列化中に出会った値やプロパティを変換します。 配列の場合は、最終的な文字列のオブジェクトに含まれるプロパティのセットを指定します。 に含まれるプロパティの集合を指定する。replacer関数の詳細な説明は javaScript guide article Using native JSONに記載されています。
  • スペース 結果の文字列をプリティプリントします。

例えば

JSON.stringify({a:1,b:2,c:{d:3, e:4}},null,"    ")

を実行すると、次のような結果が得られます。

"{
    "a": 1,
    "b": 2,
    "c": {
        "d": 3,
        "e": 4
    }
}"