错误:JSON分析错误:使用角度转换时,属性名称必须是字符串文字

Error: JSON Parse error: Property name must be a string literal when using angular translate

本文关键字:错误 属性 文字 字符串 转换 JSON      更新时间:2023-09-26

我使用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",

这条线。这个网站运行得很好。是什么导致了这个问题?

好吧,一个想法刚刚出现,我发现你不应该把","放在最后一行的末尾。删除","解决了我的问题。

对于那些遇到这个问题的人,你可以试试这个。

我在尝试从PHP服务器返回JSON时遇到了这个问题。结果JSON不允许尾随逗号。在JSON规范中声明

手动编辑json文件时,您应该通过https://jsonlint.com