JSON.parse - 无效令牌

时间:2014-11-16 23:41:04

标签: asp.net-mvc json parsing

在ASP .NET MVC中,我调用的是一个返回JsonResult

的控制器方法

在我的javascript中,我试图这样做:

var result = JSON.parse(data);

data是这样的:

{
    "ExtensionData": {},
    "ErrorMessage": "Test error message.",
    "From": null,
    "Notation": null,
    "To": null,
    "Valid": false
}

但是我收到以下错误:

  

SyntaxError:意外的令牌o       在Object.parse(native)

我尝试解析http://jsonlint.com/上的数据,但在那里解析好了。

我做错了什么?

编辑:

我正在使用AngularJS,我正在调用返回JSON的控制器方法。

$scope.move = function (to) {
    var x = $http({
        url: moveUrl,
        method: "POST",
        params: { gameId: $scope.game.id, fromPosition: $scope.game.board.selectedSquare, toPosition: to }
    });

    x.success(function (data) {
        var moveResult = JSON.parse(data);
    ...
    ...
    });

在上述之前完成的类似调用实际上可以正常工作。

$scope.getGameModel = function () {
    var x = $http({
        url: gameModelUrl,
        method: "POST",
        params: { gameId: $scope.game.id, startingFen: $scope.startingFen }
    });

    x.success(function (data) {
        $scope.game = JSON.parse(data);
    });

    x.error(function (data) {
        $scope.error = data;
    });

1 个答案:

答案 0 :(得分:0)

您可以直接在javascript中使用

var errorMessage = data.ErrorMessage;

无需在JSON中转换它。