错误:JSON 解析错误:使用角度翻译时属性名称必须是字符串文字
Posted
技术标签:
【中文标题】错误:JSON 解析错误:使用角度翻译时属性名称必须是字符串文字【英文标题】:Error: JSON Parse error: Property name must be a string literal when using angular translate 【发布时间】:2016-08-10 22:51:36 【问题描述】:我的后端使用 nodejs 和 expressjs,前端使用 Angular。在我的网站中使用 Angular 翻译时,控制台会显示以下消息:
Error: JSON Parse error: Property name must be a string literal
parse@[native code]
fromJson@http://localhost:3000/angular/angular.js:1321:19
defaultHttpResponseTransform@http://localhost:3000/angular/angular.js:10393:24
http://localhost:3000/angular/angular.js:10484:14
forEach@http://localhost:3000/angular/angular.js:322:24
transformData@http://localhost:3000/angular/angular.js:10483:10
transformResponse@http://localhost:3000/angular/angular.js:11278:34
processQueue@http://localhost:3000/angular/angular.js:15961:30
http://localhost:3000/angular/angular.js:15977:39
$eval@http://localhost:3000/angular/angular.js:17229:28
$digest@http://localhost:3000/angular/angular.js:17045:36
$apply@http://localhost:3000/angular/angular.js:17337:31
done@http://localhost:3000/angular/angular.js:11572:53
completeRequest@http://localhost:3000/angular/angular.js:11778:15
requestLoaded@http://localhost:3000/angular/angular.js:11711:24
我确信 JSON 文件中的所有属性都被引用了。
这是语言环境文件:
"directives.language-select.Language": "Select Language",
"views.video-modal.Download": "Download",
"views.video-modal.Visit": "Visit",
"views.video-modal.Copy": "Copy",
"views.video-modal.Close": "Close",
奇怪的是,当我只有
"directives.language-select.Language": "Select Language",
这一行。该网站运行良好。是什么导致了这个问题?
【问题讨论】:
【参考方案1】:好吧,我突然想到你不应该在最后一行的末尾加上“,”。删除“,”解决了我的问题。
遇到这个问题的朋友可以试试这个。
【讨论】:
【参考方案2】:我在尝试从 php 服务器返回 JSON 时遇到了这个问题。结果 JSON 不允许尾随逗号。声明在JSON Specification
【讨论】:
以上是关于错误:JSON 解析错误:使用角度翻译时属性名称必须是字符串文字的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 Python 中解析 JSON。 ValueError:期望属性名称[重复]