首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误: JSON.parse:预期数组元素后的“、”或“]”

问错误: JSON.parse:预期数组元素后的“、”或“]”
EN

Stack Overflow用户
提问于 2014-09-05 05:33:00
回答 2查看 6K关注 0票数 2

Json的新手在调用json我的json文件时收到了这个错误,而json文件是预期的',' or ']'

代码语言:javascript
复制
[
{
    "modules":
        [
                {
                   "title":"name of module1",
                   "description":"description of module1",
                   "weeks":[{"id":1, "title":"Week 01"}]
                },

                {
                   "title":"name of module2",
                   "description":"description of module2",
                   "weeks":[{"id":2, "title":"Week 02"},{"id":3,"title":"Week 03"}]
                }
        ]
  },
{

    "products":
      [
        {
          "url":"http://dummyimage.com/242x200/f3f3f3/2d2d2d.png",
          "description":"Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.",
          "viewurl" : "/",
          "savebtn" : "save"
        },
        {
          "url":"http://dummyimage.com/242x200/f3f3f3/2d2d2d.png",
          "description":"Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.",
          "viewurl" : "/",
          "savebtn" : "save"
        }
      ]
}

]

希望我确实纠正了,我不知道它正在发生什么,Error: JSON.parse: expected ',' or ']' after array element试图在角形js控制器中使用它

代码语言:javascript
复制
app.controller('settingsController', function($scope, $http){
    $http.get('assets/javascripts/datas.json').then(function(result){
        $scope.employe = result.data;
        $scope.prod = result
    })
});

以及在视野中

代码语言:javascript
复制
 <div class="col-sm-6 col-md-4" ng-repeat="datas in prod.products">
            <div class="thumbnail">
                <img ng-src="{{ datas.url }}" alt="product">
                <div class="caption">
                   <h3>{{ datas.caption}} </h3>
                   <p>{{ datas.description}}</p>
                   <p><a role="button" class="btn btn-primary" ng-href="{{datas.viewurl}}">Button</a> <a role="button" class="btn btn-default" href="#">{{datas.savebtn}}</a></p>
                </div>
            </div>
        </div>

以及控制台中的错误

错误: JSON.parse: expected‘JSON数据cc@/test/assets/javascripts/vendors/angular.js:14:289 Ud/this.defaults.transformResponse<@/test/assets/javascripts/vendors/angular.js:69:58 xc/<@/test/assets/javascripts/vendors/angular.js:68:352 r@/test/assets/javascripts/vendors/angular.js:7:288 xc@/test/assets/javascripts/vendors/angular.js:68:336 b@/test第76列中的‘或’后数组元素/ ye/e/l.promise.then/K@/test/assets/javascripts/vendors/angular.js:100:59 ye/f/<.then/<@/test/assets/javascripts/vendors/angular.js:101:235 /javascripts/供应商/angular.js:70:65 Zd/this.$get

EN

回答 2

Stack Overflow用户

发布于 2015-04-03 15:31:15

当我从字符串文本中解析JSON时,发生了这个错误。当我在JSON中复制时,我忘记了转义序列需要双转义。

问题的示例:

代码语言:javascript
复制
var data = JSON.parse('[{"key": "This value has \"a quoted\" string"}]');

当字符串值是有效的JSON时,转义序列就会丢失。那就需要双重逃脱:

修正版:

代码语言:javascript
复制
var data = JSON.parse('[{"key": "This value has \\\"a quoted\\\" string"}]');
票数 1
EN

Stack Overflow用户

发布于 2019-05-12 07:03:42

对我来说,如果我有一个:// (例如,json内部的http://),因为这个原因,我替换了它,它起作用了),问题就会发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25679180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档