Angularjs/Ionic App json parsing

Angularjs/Ionic App json parsing

本文关键字:json parsing App Ionic Angularjs      更新时间:2023-09-26

在ionic/angularjs应用中,我想解析以下json文件的内容(由服务器生成)

 [
    {
        "raw": {
            "id": "2",
            "pid": "0",
            "sorting": "0",
            "tstamp": "1433706234",
            "Alias": "-2",
            "Menu1": "Test",
            "Menu2": "Test1",
            "From": "1433714400",
            "To": "1434060000",
            "Published": "1"
        },
        "text": {
            "Alias": "-2",
            "Menu1": "Test",
            "Menu2": "Test1",
            "From": "08.06.2015",
            "To": "12.06.2015",
            "Published": "1"
        },
        "attributes": {
            "Alias": "Alias",
            "Menu1": "Menu",
            "Menu2": "Menu",
            "From": "Datum From",
            "To": "Datum To",
            "Published": "Public"
        },
        "class": "first even"
    },
    {
        "raw": {
            "id": "1",
            "pid": "0",
            "sorting": "0",
            "tstamp": "1433706235",
            "Alias": "",
            "Menu1": "Test2",
            "Menu2": "Test21",
            "From": "1431295200",
            "To": "1431640800",
            "Published": ""
        },
        "text": {
            "Alias": "",
            "Menu1": "Test2",
            "Menu2": "Test21",
            "From": "11.05.2015",
            "To": "15.05.2015",
            "Published": ""
        },
        "attributes": {
            "Alias": "Alias",
            "Menu1": "Menu",
            "Menu2": "Menu",
            "From": "Datum From",
            "To": "Datum To",
            "Published": "Public"
        },
        "class": "last odd"
    }
]

我想这样解析数据:

   .controller('GetJson', function ($scope, $http) {
        var obj = {content:null};      
        $http.get("test.json")
            .success(function (data) {
            obj.content = data;
        });
        return obj;
        $scope.all = obj;
        $scope.menu1 = obj.data.text.Menu1;
    });

并给出它:

<ion-view view-title="test" ng-controller="GetJson">
<ion-content class="padding">
    {{all}}
    {{menu1}}
</ion-content>
</ion-view>

但这不起作用。如何从json中获取数据?例如,如果我想得到:

text->Menu1->"Test"或者如果我想获得属性->Menu1->Menu

谢谢你的帮助

编辑:

它的工作方式是:

.controller('GetJson', function ($scope, $http) {
    $http.get("test.json")
        .success(function (data) {
        $scope.all = data;    
        $scope.menu1 = data[0].text.Menu1;  
    });   
})

为什么在控制器中使用return语句?为什么不直接:

.controller('GetJson', function ($scope, $http) { 
        $scope.all = obj;
        $scope.menu1 = obj.data.text.Menu1; // this line won't work. See comment
        $http.get("test.json").success(function (data) {
            $scope.all = data;
        });
    });

我想也许控制器在你的代码返回$scope的值之前。All和$scope。

你的对象是一个数组,"data"不是一个属性。所以你不能访问"obj.data.text.Menu1;"。应该是obj[0].text.Menu1;