文字列からJSONを解析する方法、およびNode.jsでJSONファイルを読み取る方法
あなたが持っている場合JSON文字列の一部としてのデータ、それを解析する最良の方法は、JSON.parse
ECMAScript 5以降のJavaScript標準の一部であり、によって提供されているメソッドV8、強力なJavaScriptエンジンNode.js。
例:
const data = '{ "name": "Flavio", "age": 35 }'
try {
const user = JSON.parse(data)
} catch(err) {
console.error(err)
}
ご了承くださいJSON.parse
は同期であるため、JSONファイルが大きいほど、JSONの解析が完了するまでプログラムの実行がブロックされる時間が長くなります。
JSONをでラップすることにより、JSONを非同期的に処理できます。約束するそしてsetTimeout呼び出しは、イベントループの次の反復で解析が行われることを確認します。
const parseJsonAsync = (jsonString) => {
return new Promise(resolve => {
setTimeout(() => {
resolve(JSON.parse(jsonString))
})
})
}
const data = ‘{ “name”: “Flavio”, “age”: 35 }’
parseJsonAsync(data).then(jsonData => console.log(jsonData))
代わりにJSONがファイルにある場合は、最初にそれを読み取る必要があります。
そのための非常に簡単な方法は、require()
:
const data = require('./file.json')
あなたが使用したので.json
拡張、require()
それを理解するのに十分賢く、JSONを解析しますdata
オブジェクト。
注意点の1つは、ファイルの読み取りが同期していることです。さらに、require()呼び出しの結果はキャッシュされるため、ファイルを更新したために再度呼び出すと、プログラムが終了するまで新しいコンテンツを取得できません。
この機能は、アプリの構成にJSONファイルを使用するために提供されたものであり、完全に有効なユースケースです。
を使用してファイルを手動で読み取ることもできますfs.readFileSync
:
const fs = require('fs')
const fileContents = fs.readFileSync('./file.json', 'utf8')
try {
const data = JSON.parse(fileContents)
} catch(err) {
console.error(err)
}
これにより、ファイルが同期的に読み取られます。
を使用してファイルを非同期で読み取ることもできますfs.readFile
、これが最良のオプションです。この場合、ファイルの内容はコールバックとして提供され、コールバック内でJSONを処理できます。
const fs = require('fs')
fs.readFile(’/path/to/file.json’, ‘utf8’, (err, fileContents) => {
if (err) {
console.error(err)
return
}
try {
const data = JSON.parse(fileContents)
} catch(err) {
console.error(err)
}
})
私の無料ダウンロードNode.jsハンドブック
その他のノードチュートリアル:
- npmパッケージマネージャーの紹介
- Node.jsの紹介
- Axiosを使用したHTTPリクエスト
- Node.jsアプリをホストする場所
- Node.jsを使用してGoogleAnalyticsAPIと対話します
- npxノードパッケージランナー
- package.jsonガイド
- npmはどこにパッケージをインストールしますか?
- Node.jsを更新する方法
- npmを使用してインストールされたパッケージを使用または実行する方法
- package-lock.jsonファイル
- npmを使用したセマンティックバージョニング
- node_modulesフォルダーをGitにコミットする必要がありますか?
- すべてのノードの依存関係を最新バージョンに更新します
- Node.jsを使用したJSONの解析
- npmパッケージのインストール済みバージョンを検索します
- Node.jsストリーム
- 古いバージョンのnpmパッケージをインストールします
- ノード内の現在のフォルダを取得します
- ノードにオブジェクトを記録する方法
- エクスポートを使用してノードファイルから機能を公開します
- ノードとブラウザの違い
- ノードを使用してHTTPPOSTリクエストを作成します
- Nodeを使用してHTTPリクエストの本文データを取得する
- ノードバッファ
- Node.jsの簡単な歴史
- Node.jsをインストールする方法
- Nodeを使用するには、どのくらいのJavaScriptを知っている必要がありますか?
- Node.jsREPLの使用方法
- ノード、コマンドラインから引数を受け入れる
- ノードを使用してコマンドラインに出力する
- ノードのコマンドラインからの入力を受け入れる
- `npmアンインストール`でnpmパッケージをアンインストールする
- npmグローバルまたはローカルパッケージ
- npmの依存関係とdevDependencies
- Node.jsイベントループ
- process.nextTick()を理解する
- setImmediate()を理解する
- ノードイベントエミッター
- HTTPサーバーを構築する
- ノードでHTTPリクエストを行う
- Nodefsモジュール
- Axiosを使用したノードでのHTTPリクエスト
- Nodeでファイルを読み取る
- ノードファイルパス
- Nodeを使用したファイルの書き込み
- ノードファイルの統計
- ノードでのファイル記述子の操作
- ノード内のフォルダーの操作
- ノードパスモジュール
- ノードhttpモジュール
- Node.jsでのWebSocketの使用
- MySQLとNodeの操作の基本
- Node.jsでのエラー処理
- パグガイド
- Node.jsから環境変数を読み取る方法
- Node.jsプログラムを終了する方法
- Nodeosモジュール
- ノードイベントモジュール
- ノード、開発と本番の違い
- Node.jsにファイルが存在するかどうかを確認する方法
- Node.jsで空のファイルを作成する方法
- Node.jsでファイルを削除する方法
- Node.jsを使用してファイルの最終更新日を取得する方法
- JavaScriptで日付が今日かどうかを判断する方法
- Node.jsのファイルにJSONオブジェクトを書き込む方法
- 次のプロジェクトでNode.jsを使用する必要があるのはなぜですか?
- 任意のフォルダからWebサーバーを実行します
- Node.jsでMongoDBを使用する方法
- ChromeDevToolsを使用してNode.jsアプリをデバッグします
- pnpmとは何ですか?
- Node.jsランタイムv8オプションリスト
- npm使用時の「書き込みアクセスの欠落」エラーを修正する方法
- Node.jsでESモジュールを有効にする方法
- Node.jsを使用して子プロセスを生成する方法
- Expressで解析されたボディと生のボディの両方を取得する方法
- Node.jsでファイルのアップロードを処理する方法
- ノードモジュールのピア依存関係とは何ですか?
- Node.jsでCSVファイルを作成する方法
- Node.jsでCSVファイルを読み取る方法
- ノードコアモジュール
- Node.jsを使用して一度に複数のフォルダー番号をインクリメントする
- キャンバスをデータURLに印刷する方法
- Node.jsとCanvasを使用して画像を作成および保存する方法
- Node.jsを使用して画像をダウンロードする方法
- Node.jsでファイルの名前を一括変更する方法
- ノード内のフォルダ内のすべてのファイルの名前を取得する方法
- promiseを使用し、Node.jsコールバックベースの関数で待機する方法
- npmパッケージをローカルでテストする方法
- 実行時に現在のNode.jsバージョンを確認する方法
- Sequelizeを使用してPostgreSQLと対話する方法
- Node.jsを使用してHTMLページを提供する
- Node.jsの `util.pumpは関数ではありません`エラーを解決する方法