[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
2021-12-28 20:36:01
質問
コントローラのパースで取得しようと思っているデータは以下の通りです。
{
"data":{
"userList":[
{
"id":1,
"name":"soni"
}
]
},
"status":200,
"config":{
"method":"POST",
"transformRequest":[
null
],
"transformResponse":[
null
],
"url":"/home/main/module/userlist",
"headers":{
"rt":"ajax",
"Tenant":"Id:null",
"Access-Handler":"Authorization:null",
"Accept":"application/json, text/plain, */*"
}
},
"statusText":"OK"
}
そして、次のようなコードを実行します。
var userData = _data;
var newData = JSON.parse(userData).data.userList;
しかし、私はエラーが発生しました。
Uncaught SyntaxError: Unexpected token o in JSON at position 1
解決方法は?
投稿されたJSONは問題ないように見えますが、あなたのコードでは、それはもうJSON文字列ではなく、すでにJavaScriptオブジェクトである可能性が高いのです。つまり、これ以上パースする必要はありません。
Chromeのコンソールなどで、ご自身でテストしてみてください。
new Object().toString()
// "[object Object]"
JSON.parse(new Object())
// Uncaught SyntaxError: Unexpected token o in JSON at position 1
JSON.parse("[object Object]")
// Uncaught SyntaxError: Unexpected token o in JSON at position 1
JSON.parse()
は入力を文字列に変換する。その
toString()
メソッドは、デフォルトではJavaScriptオブジェクトの
[object Object]
その結果、観察される動作は、以下のようになります。
代わりに以下を試してみてください。
var newData = userData.data.userList;
関連
-
fetch ネットワークリクエストラッパーの説明例
-
[解決済み】 env: node: macにそのようなファイルやディレクトリはありません
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] JSON文字列を安全にオブジェクトに変換する
-
[解決済み] 正しい」JSONの日付形式とは?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
vue3.0プロジェクトのアーキテクチャを構築するための便利なツール
-
HTML+CSS+JavaScriptで簡単な三目並べゲームを作成する。
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
Vueのクラススタイルの使い方の詳細
-
[解決済み】最大呼び出しスタックサイズ超過エラー
-
[解決済み】React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み】gulp anythingを実行するたびに、アサーションエラーが発生します。- タスク関数を指定する必要があります
-
[解決済み】ExpressJS : res.redirect()が期待通りに動かない?
-
[解決済み】ReactJSでエラー発生 Uncaught TypeError: Super expression は null か関数でなければならず、undefined ではありません。
-
JavaScriptのStringに関する共通メソッド