🚀

javascript エラー「SyntaxError: Unexpected token o in JSON at position 1」

2022/06/24に公開

エラー内容

実務にて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