JSONを使用します.stringify jsファイルをjsonファイルに変換

1782 ワード

の原因となる
最近プロジェクトを行うときは、jsファイルフォーマットが設定されていますが、何らかの特殊な理由で、これらのファイルをjsonファイルフォーマットに変更する必要があります.
ぶんせき
一般に、configモジュールを使用すると、プロファイルは2つしかありません.手書きで直すことはできますが、無理を装う人としてはlowすぎるように見えます.そこで、自動化ツールで仕上げたいと思います.そして、本文がありました.
実践過程.
考え:jsプロファイルをjsonファイルに変換するには、次の方法が考えられます.
  • このjsファイルを導入し、オブジェクトとしてメモリに配置する:var jsObj = require(jsFileName)
  • js内蔵オブジェクトJSONのstringifyメソッドを使用してjsObjをjson文字列に変換する:var jsonStr = JSON.stringify(jsObj)
  • 書き込みファイル:fs.writeFile(file, jsonStr, callback);理論的にはこれでいいのですが、悪いところがあります.json文字列は押しつぶされ、美しくありません.何か方法がありますか.
  • は、オンラインツールを使用してフォーマットされ、ファイルに書き込まれます.面倒くさいのではないでしょうか.面倒でなければならないし、限られている.サーバで操作する場合、オンラインツールは何ですか?フォーマットが必要な場合は、変換のために追加のプログラムを書く必要があります.面倒くさいですね^^
  • JSON.stringifyの場合、対応する数のスペースが必要です.ちょっと面倒ですが、小さなアルゴリズムを書いてスペースの数を計算します.(これは自分で実現できるが、主に自分が怠け者で、手を出したくない)
  • ステップアップ
    検索エンジンは生活必需品です.簡単にグーグルで検索してみると、奇妙なことがありました.JSON.stringifyには独自のスペースパラメータがあり、どれだけのスペースを使うかを自分で決めることができます.本当によかったです.詳細はJSON.stringify .
    JSON.stringify(value[, replacer[, space]])
    オプションパラメータspaceがあり、直接数字を記入すればいいです.2は空の2つのグリッドを表します.JSON.stringify(str, null, 2) . jsがこんなに弱い鶏はいられない
    に着手
    上はすでに考えが整理されていて、コードは自然に来ました.コードの詳細はgithubコードが多くなく、許容誤差の処理が多すぎないことを参照してください.主にパラメータの個数に対して簡単な互換性を作った.
    function js2json(sourceFile, destinceFile[, options], callback){}
    

    上記のパラメータはオプションなので、パラメータの個数が3つであると判断した場合、3番目のパラメータをcallbackに付与します.同じように、js 2 jsonがある以上、json 2 jsも必要です.理屈は同じですね.
    function json2js(sourceFile, destinceFile[, options], callback){}
    

    簡単に手を出す過程だ.私が書き終わったとき、実は他の人がこれらの方法を書いたことに気づいた.大丈夫です.参加と着手に重点を置いていますか.自分で書くのもいいことです.モジュール詳細はnpmを参照
    小結
  • まめに考える
  • 勤手
  • 勤捜索