2016-07-18 5 views
2

AngularJSの新機能として、コンソールに表示されるエラーメッセージを理解したいと思います。下に私のjsonのオブジェクトと他の詳細を見つけることができます。 JSPページでAngularjs "parse:syntax"エラーメッセージ

<body id="bodyID" ng-controller="ApplicationParameterController" > 
    <div ng-cloak class="ng-cloak">{{init(${displayInfo})}}</div> 
    <toaster-container toaster-options="{'time-out': 3000}"></toaster-container> 
    <application-param></application-param> 
</body> 

私のJSONオブジェクト:

displayInfo = [{"id":34,"key":"a","value":"true","description":"a","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":35,"key":"summaryReportEmail","value":"[email protected]","description":"summaryReportEmail","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":36,"key":"b","value":"true","description":"b","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":1,"key":"T_AND_C_ON","value":"Y","description":"c","privilege":{"privilegeID":74,"privilegeCode":"enable_tnc"}},{"id":3,"key":"soapAddress","value":"http://test.com/test/test.asmx","description":"soapAddress","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":4,"key":"soapAddressAlter","value":"http://test.com/test/test.asmx","description":"soapAddressAlter","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":27,"key":"d","value":"d","description":"d ","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":28,"key":"sts.s3.bucket.name","value":"test01-sts-healix-xmls","description":"sts.s3.bucket.name","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":29,"key":"e","value":"e","description":"e","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":30,"key":"f","value":"f/g","description":"f","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":31,"key":"g","value":"7","description":"g","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":32,"key":"enableScheduler","value":"true","description":"enableScheduler","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}},{"id":33,"key":"sts.document.api","value":"http://www.test.com/as-da-api","description":"sts.document.api","privilege":{"privilegeID":77,"privilegeCode":"app_param_admin"}}] 

私はエラーの下に取得しています:

Error: [$parse:syntax] http://errors.angularjs.org/1.3.0-beta.14/$parse/syntax?p0=undefined&p1=is%20unexpected%2C%20expecting%20%5B%7D%5D&p2=null&p3=init(%5B%7B%22id%22%3A34%2C%22key%22%3A%22isAutoRenewalEnable%22%2C%22value%22%3A%22true%22%2C%22description%22%3A%22isAutoRenewalEnable%22%2C%22privilege%22%3A%7B%22privilegeID%22%3A77%2C%22privilegeCode%22%3A%22app_param_admin%22&p4=init(%5B%7B%22id%22%3A34%2C%22key%22%3A%22isAutoRenewalEnable%22%2C%22value%22%3A%22true%22%2C%22description%22%3A%22isAutoRenewalEnable%22%2C%22privilege%22%3A%7B%22privilegeID%22%3A77%2C%22privilegeCode%22%3A%22app_param_admin%22 G/<@https://localhost:8443/travelinsurance-aggregator/resources/scripts/angular.min.js:6:457 

私のinitメソッドは次のとおりです。

$scope.init = function(displayInfo) { 
       if ($scope.displayInformation == null || $scope.displayInformation == 'undefined') { 
        $scope.displayInformation = angular.fromJson(displayInfo); 
        $scope.applicationParameters = $scope.displayInformation; 
       } 
      }; 

私はjson formatterを試しても構文エラーは表示されませんが、エラーメッセージには構文エラーが表示されます。私はいくつかのサイトを通過しましたが、エラー解決策を見つけることができませんでした。

誰もが問題を解決するのに役立つことはできますか?前もって感謝します。

+0

コントローラメソッドinit()も投稿できますか? – rrd

+0

@rrd私はinitメソッドを追加しました – CrazyJavaLearner

+0

'{{init($ {displayInfo})}}'がサーバサイドスクリプトによってレンダリングされた後にどうなるかをチェックするだけです。問題は非常に明白です。 – dfsq

答えて

0

問題が見つかりました。私は、JSON文字列へのオブジェクトのオブジェクトを変換しようとすると、私はコードの下に使用:

ObjectMapper jsonMapper = new ObjectMapper(); 
String displayJson = null; 
try { 
    displayJson = jsonMapper.writeValueAsString(applicationParametersForPrivilege); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

しかしthis linkから、私はそれに変更:

ObjectWriter jsonMapper = new ObjectMapper().writer().withDefaultPrettyPrinter(); 
String displayJson = null; 
try { 
    displayJson = jsonMapper.writeValueAsString(applicationParametersForPrivilege); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

今その作業罰金。

関連する問題