我在使用 JSON.parse 时收到“SyntaxError: Unexpected token ' in JSON at position 1”
Posted
技术标签:
【中文标题】我在使用 JSON.parse 时收到“SyntaxError: Unexpected token \' in JSON at position 1”【英文标题】:I am getting "SyntaxError: Unexpected token ' in JSON at position 1" when using JSON.parse我在使用 JSON.parse 时收到“SyntaxError: Unexpected token ' in JSON at position 1” 【发布时间】:2019-07-09 16:29:23 【问题描述】:我无法访问myView.js
上的列表param = ['foo','bar']
。
JS 代码将param
视为一个字符串,但是当我尝试JSON.parse(param)
时,我得到如下所示的错误。
我在这里错过了什么?
myView.html:
<script>
window.obj = ;
obj.param = " param | safe ";
</script>
views.py:
def myView(req):
context = 'param':['foo','bar']
return render(req, 'myView.html', context)
myView.js:
$(document).ready(function()
console.log(window.obj.param); //prints ['foo','bar']
console.log(window.obj.param[0]); //prints [
console.log(JSON.parse(window.obj.param)); // Uncaught SyntaxError: Unexpected token ' in JSON at position 1
//what I need to happen
console.log(param[0]); // prints 'foo'
);
【问题讨论】:
json 格式只允许双引号 (token ' in JSON at position 1
)
谢谢!如果您发布答案我会接受
【参考方案1】:
json格式只允许双引号(token ' in JSON at position 1
),单引号的sting不是有效的json格式,所以如果你尝试解析它,你会得到一个错误,如下所示
function safeParse(param)
try
console.log(JSON.parse(param))
catch (e)
console.log("there was an issue with parsing your string")
safeParse("['foo','bar']");
safeParse('["foo","bar"]');
【讨论】:
以上是关于我在使用 JSON.parse 时收到“SyntaxError: Unexpected token ' in JSON at position 1”的主要内容,如果未能解决你的问题,请参考以下文章