eRROR:json.parse:预期',''或']'array元素

问题描述 投票:0回答:1

am newbie to

Json
在呼叫JSON时会遇到此错误
',' or ']'

我确实纠正了,我不知道发生了什么事,它正在尝试在Angular JS Controller中使用
[
{
    "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

和控制台中的错误
  
Error:JSON.PARSE:预期',''或']'在阵列元素之后的第76行json data cc@/test/assets/javascripts/javascripts/vendors/angular.js:14:289 ud/this.defaults .transformresponse

	

当我从字符串文字中解析JSON时,我发生了这个错误。当我复制在JSON中时,我忘记了逃生序列需要双重逃脱。 问题的示例:

app.controller('settingsController', function($scope, $http){ $http.get('assets/javascripts/datas.json').then(function(result){ $scope.employe = result.data; $scope.prod = result }) }); <@/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/assets/javascripts/vendors/angular.js:70:65 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 Zd/this.$get

当字符串值是有效的JSON时,逃脱序列丢失了。然后需要双重逃脱:
ajax json angularjs
1个回答
2
投票

校正版本:

<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搅动中有一个://(例如http://),则出现问题。 

我发现在JavaScript中摆脱这个问题的更好方法是: var data = JSON.parse('[{"key": "This value has \"a quoted\" string"}]');

	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.