JSON の位置 1 に予期しないトークン o がある エラーの理由
私の個人的なブログへようこそ http://www.xiaolongwu.cn
の前に書かれた文字
この問題は、以前あるプロジェクトで作業していたときに一度だけ発生したことがあり、JSON.parse()のレイヤーを削除したらデータが正常に動作したので、あまり気にせず原因を深く調べなかったのです。
でも今回また遭遇してしまったので、今度は原因を突き止めなければなりません。
まず、その動作を見てみましょう
JSON.parse()は、次のように文字列からjsonオブジェクトをパースするために使用されます。
var str = '{"name":"LeonWu","age":"18"}'
JSON.parse(str);
// The result is an Object
// age: "18";
// name: "LeonWu";
- 1
- 2
- 3
- 4
- 5
- 6
- 7
JSON.stringify()は、以下のようなオブジェクトから文字列をパースするために使用されます。
var a = {a:1,b:2,c:"LeonWu"};
JSON.stringify(a);
// the result is "{"a":1,"b":2,"c":"LeonWu"}"
- 1
- 2
- 3
- 4
- 5
- 6
その理由
エラー報告の理由
変換したいデータはもともとオブジェクトなので、JSON.parse()は文字列をjsonオブジェクトにパースするメソッドであり、再度変換するとエラーになります。
なぜこのようなエラーが発生するのでしょうか
JSON.parse()のパラメータとしてObjectを渡すと、まずtoString()メソッドで文字列がデフォルトになり、"[object Object]"となるためです。
JSON.parse() は最初の文字 '[' を配列の開始と解釈し、2 番目の文字 'o' はそれをどう処理したらよいか分からないため、エラーメッセージ Unexpected token o in JSON at position 1 above をスローします。
--------------------- 分割行、2019年1月22日 11:21:03 更新 -----------------------。
そのため、私が明確に書かなかったためか、最終的な解答を求めるコメントが下に多く寄せられています。
解決策は、冒頭で述べたように、変換する必要のあるデータはすでにjsonオブジェクトであり、変換する必要がないため、JSON.parse()の変換レイヤーを削除することです。
githubのリポジトリです。 バグコレクション js1-Unexpected token o in JSON at position 1
私のCSDNブログのアドレスです。 https://blog.csdn.net/wxl1555
私のブログの内容に疑問や質問がある場合は、以下のコメント欄にご記入いただくか、メールでお問い合わせいただければ、一緒に学び、進歩することができます。
関連
-
JSエラーです。Uncaught TypeError: nullのプロパティ'addEventListener'を読み取ることができません。
-
エラー [ERR_HTTP_HEADERS_SENT]: クライアントに送信された後のヘッダを設定できない
-
JS(ネイティブjs、jqメソッド)要素属性(カスタム属性)取得、属性(カスタム属性)削除
-
uncaught typeerror cannot read property 'data' of undefined エラーの理由
-
Javascriptにおけるdocument.execCommand()の使用法
-
Chromeのレポートフォームの送信エラー、フォームが接続されていないため、フォームの送信がキャンセルされる
-
js は、エラー Uncaught TypeError を報告します。nullのプロパティ'appendChild'を読み取ることができません。
-
layui (laydate) を使用すると、Cannot read property 'appendChild' of undefined というエラーが、どこをクリックしても表示されます。
-
document.getElementById は関数ではありません。
-
JSネイティブAjaxとjQuery Ajaxをコード例で紹介します。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
オブジェクトが存在するにもかかわらず、null のプロパティ 'addEventListener' を読み込むことができません。
-
Uncaught TypeError: nullのプロパティ'addEventListener'を読み取れない 考えられる問題
-
(解決済み)JSONの1番目の位置で予期しないトークンoが発生した。
-
JSON変換エラーです。Uncaught SyntaxError: JSON.parse_乐夫天命兮的客-プログラマーベイビーで位置1に予期しないトークンo。
-
JSON の位置 0 にある予期しないトークン u が解決されました。
-
JS error Uncaught SyntaxError: JSON の位置 0 に予期しないトークン u があります。
-
JSONの位置0にある予期しないトークン エラーが解決されました。
-
エラー btn.addEventListener は関数ではありません。
-
Uncaught TypeError: 未定義のプロパティ 'fn' を読み取ることができません。
-
bootstrap-treeview ツリーパラメータ詳細