🚀
javascript エラー「SyntaxError: Unexpected token o in JSON at position 1」
エラー内容
実務にてPHPのTwigのテンプレートに書いたjavascriptからSvelteへAPIで返ってきた値を渡す際に起こった。
sample.js
const app = new window.sample.svelte.Sample({
target: document.getElementById('sample-main'),
props: {
user: {{ user|json_encode()|raw }},
},
});
Sample.svelte
export let user = null
let buildUser = JSON.parse(user)
表示されたエラーメッセージ。
エラーメッセージ
SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
原因
文字列ではなく、データをそのまま渡していたのが原因みたい。
解決方法
一度、JSON.stringifyを使用して文字列化してから、JSON.parseする。
Sample.svelte
export let user = null
let buildUser = JSON.parse(JSON.stringify(user))
これでエラーがなくjsonとして扱うことができた。
Discussion