1. ホーム
  2. javascript

[解決済み] Uncaught SyntaxError: JSON の位置 2 で予期しないトークン ' が発生しました。

2022-02-28 09:22:32

質問

データベースに保存されているエンコードされた文字列化されたJSONオブジェクトをデコードしてロードし、オブジェクトにパースしようとしました。

Uncaught SyntaxError: JSON の位置 2 に予期しないトークン ' があります。 JSON.parse()にて

コードです。

var attr = new Object();
attr = JSON.parse(code[1].replace(/"/g, "'"));

オブジェクトがデコードされました。

<ブロッククオート

[{ input':0,'type':'variable'},{'inputD':0,'type':'variable'},{'inputI':0,'type':'variable'},{'paras':0,'type':'variable'},{'headers':0,'type':'variable'}, {'menus':0,'type':'variable'},{'lists':0,'type': 'variable' },{ divs':0,'type':'variable' },{ links':0,'type':'variable' },{ images':0,'type':'variable' },{'elemName':'{}','type':'object'},{'borders':[],'type':'array'},{'nested':[],'type':'array'},{'ribbons': [],'type': array'},{tooltips':[],'type':'array'}, {'gradColors':'{}','type':'object'},{'events':'{}','type':'object'},{'sTarget':'{}','type':'object'},{'sMain':'{}','type':'object'},{'orignalStyle': '{}','type': object'},{'objNewStyle':'{}','type': object'},{'functions':'{}','type': object'},{'reverse':'{}','type': object'},{'reverseFunction':'{}','type': object'},{'scDetails':'{}','type': Object'}] があります。

どのように解決するのですか?

これは 有効ではない json文字列です。値とキーはダブルクォートで囲む必要があります(シングルクォートではありません)。ですから .replace(/"/g, "'") は、基本的にJSONの標準を破っています。

値は、二重引用符で囲まれた文字列、数値、true または false または null、あるいはオブジェクトまたは配列。これらの構造体は を入れ子にしています。