【发布时间】:2017-07-25 12:18:31
【问题描述】:
我有一个简单的函数可以将选定的对象 ID 发布到会话存储中,它可以像数字一样工作,但是当我将其更改为单词时它不起作用,知道为什么以及如何解决它吗?
我认为这很好,因为它们都是字符串,你可以在底部看到我的函数解析 json,我不明白为什么它只适用于数字?
代码
$scope.productsandformats = [{
"name": "name 1",
"format": [{
"Fname": "test (ROADSIDE TEMP)",
"id": "Roadside"
}, {
"Fname": "test Sheet",
"id": "2"
}, {
"Fname": "Wrap test (Digital)",
"id": "3"
}]
}, {
"name": "name 2,
"format": [{
"Fname": "2 test",
"id": "4"
}, {
"Fname": "test Live (Digital)",
"id": "5"
}]
};
$scope.productTypeChange = function() {
$scope.formats = $scope.productsandformats.find(ps => ps.name === $scope.formData.ProductType.name)
//NG-Change
$scope.myFunc = function() {
var jsonItem = JSON.parse($scope.formData.formatType.id);
sessionStorage.setItem('format', jsonItem);
}
}
});
我在检查器中遇到错误
SyntaxError:JSON 中位置 0 的意外标记 R 在 JSON.parse()
【问题讨论】:
-
检查
JSON.parse的输入是否为有效的 JSON。此外,您的代码示例在name 2之后缺少"。
标签: javascript angularjs parsing object local-storage