【发布时间】:2021-06-25 18:49:01
【问题描述】:
据我了解,json 规范首先支持方法/函数。
我有以下 json 文件用作测试夹具。
{
"tokenParsed": {
"preferred_username": "Test User"
},
"hasResourceRole": function () {
return function (role, resource) {
if (role && resource) {
return true
}
}
}
}
如果我尝试将文件导入到我的 VueJS 项目中
import { keycloak_test_user } from './fixtures/keycloak_test_user.json'
我收到以下错误
SyntaxError: Unexpected token ( in JSON at position 89
at JSON.parse (<anonymous>)
2 | import Vuex from 'vuex'
3 | import Permission from '@/components/user/Permission.vue'
> 4 | import { keycloak_test_user } from './fixtures/keycloak_test_user.json'
如果我直接将它添加到我的测试文件中而不是导入它,上面的 json 可以正常工作。
虽然错误显示 JSON.parse,但我不确定这是因为 webpack 没有正确加载文件,还是 JSON.parse 是错误的直接原因,但是,即使 VSCode json 格式将函数视为无效的 json。
【问题讨论】: