[解決済み] JSON.parseが空文字列で失敗するのはなぜですか?重複
2023-01-19 05:23:02
質問
なぜそうなる。
JSON.parse('');
エラーを発生させるか?
Uncaught SyntaxError: Unexpected end of input
を返すだけなら、もっと論理的だと思いませんか?
null
?
編集:これはリンク先の質問と重複していません。最小限の有効なjsonのトピックはこの質問に関連していますが、それは"why"に到達していません。
どのように解決するのですか?
空文字列は有効なJSONではないので
JSON.parse('')
を返すのは正しくありません。
null
なぜなら
"null"
は有効なJSONだからです。
JSON.parse("null");
戻る
null
. 無効なJSONもnullにパースされるのは間違いです。
空の文字列は有効なJSONではありませんが、2つの引用符は有効なJSONです。これは重要な違いです。
つまり、2つの引用符を含む文字列は、空の文字列と同じものではありません。
JSON.parse('""');
は正しくパースされ、(空の文字列を)返します。しかし
JSON.parse('');
はしません。
有効な最小限のJSON文字列は
空のオブジェクト
'{}'
空の配列
'[]'
空の文字列
'""'
数字 例
'123.4'
ブーリアン値true
'true'
ブール値false
'false'
null値
'null'
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] なぜ ++[[]][+[] +[+[]] は "10" という文字列を返すのでしょうか?
-
[解決済み] Facebookがブラウザに統合されたDeveloper Toolsを無効にする方法を教えてください。
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] ECMAScriptとは?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 有効なJSONの最小値は?
-
[解決済み] PHPスクリプトからJSONを返す
-
[解決済み] JSのDateからDay名
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] TypeScriptプロジェクトで既存のC#クラス定義を再利用する方法
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] Promise : then vs then + catch [重複].
-
[解決済み] Node.jsのES6クラスをrequireで作る
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる