从Angularjs中的Neo4j REST响应中访问JSON数据

时间:2015-09-17 15:41:46

标签: json angularjs rest neo4j neo4jrestclient

我是一个休息和有角度的新手,所以我希望回答我的问题非常容易。

我在使用JSON响应时遇到问题我从新的Neo4j post事务/提交查询中获得。

我想访问响应中每个项目的响应数据。我已经搜索了其他人如何处理这个问题,但没有找到相同的案例。我想我根本不解析响应,也无法访问特定的行。

这是我的代码,只打印所有json。

JS控制器

function restcall($scope, $http) {

  var call = '{ "statements" : [ { "statement" : "MATCH (n:Cars) RETURN n ORDER BY n.initRank DESC LIMIT 10" } ] }';

  $http({
                method: 'POST',
                url: 'http://myserver:7474/db/data/transaction/commit',
                data: call,

 })
 .success(function (data, status) {
                        $scope.status = status;
                        $scope.response = data.results;
            })
 .error(function (data, status) {
                        $scope.response = data || "Request failed";
                        $scope.status = status;
            })

        };

HTML打印出完整的回复

<section ng-controller="restcall">
        <h2>{{status}}</h2>
        </br></br>
        <h3>{{response}}</h3>
</section>

最重要的是我得到的JSON响应

{

"results":[{

    "columns":[
        "n"
    ],

    "data":[
        {"row":[{"name":"Car1","initRank":"..."}]},
        {"row":[{"name":"Car2","initRank":"..."}]},
        {"row":[{"name":"Car3","initRank":"..."}]},
        {"row":[{"name":"Car4","initRank":"..."}]},
        {"row":[{"name":"Car5","initRank":"..."}]},
        {"row":[{"name":"Car6","initRank":"..."}]}]
}],

"errors":[]

}

所以基本上现在我只是在html中打印出我的json响应。

现在,如何访问各行以获取Car3属性?

我尝试了data.results [0] [0] .data ...并且还解析了我的字符串,但是当我添加下一个.data时,它只是没有显示一个东西,解析时也是一样。可以有人帮忙。

1 个答案:

答案 0 :(得分:1)

根据该JSON响应,您将使用data.results[0].data[2].row[0].initRank访问Car3的“initRank”。您不应该对响应进行任何额外的解析。它应该已经成为回调中的一个对象。