【问题标题】:How to convert ajax array of objects into array of arrays如何将ajax对象数组转换为数组数组
【发布时间】:2015-12-04 16:40:24
【问题描述】:

我有一个 ajax 调用,它返回这样的对象数组:

现在,我在 AngularJS 中将其解析为表格的代码可以正常工作。

我正在尝试用表格实现分页,但出现的问题是分页不适用于对象,它必须是一个数组。

我无法将此对象数组转换为数组数组以进行分页。

我的 Ajax 调用代码是:

$http({
            method: 'POST',
            url: 'server/search/searchQuery.php',
            data: {data: 'getData', searchText: id.SearchText , typeOfStudy: qTypeOfStudy , typeOfSpecies: qTypeOfSpecies , typeOfSpeciality: qTypeOfSpeciality },
            headers: {'Content-Type': 'application/json'},
            dataType:"json"
        }).success(function(data) {

如果有人可以指向可以转换它的帖子或示例代码,那就太好了。

我已经在 php 端做了 json_encode。

【问题讨论】:

    标签: php jquery arrays angularjs ajax


    【解决方案1】:

    也许你需要这个解决方案:

    var aData = [];
        $http({
                method: 'POST',
                url: 'server/search/searchQuery.php',
                data: {data: 'getData', searchText: id.SearchText , typeOfStudy: qTypeOfStudy , typeOfSpecies: qTypeOfSpecies , typeOfSpeciality: qTypeOfSpeciality },
                headers: {'Content-Type': 'application/json'},
                dataType:"json"
            }).success(function(data) {
          var aData = [];
          for(var k in data){
            aData.push(data[k].id, data[k].primary_authors, data[k].primary_titles, data[k].pub_year);
            }
        }
    

    【讨论】:

    • 感谢 Manuel,虽然它确实解析了代码,但它创建了一个奇异数组。我正在尝试将您的示例代码转换为关联(多维数组)。
    • 我认为在关联数组上转换它的唯一方法是转换为对象,但你需要一个数组对吗?您可以在 foreach 上使用 aData [k] = [data[k].id, data[k].primary_authors, data[k].primary_titles, data[k].pub_year]; 而不是我的答案来获得多维位置数组。如果您有更好的解决方案,请告诉我。
    • 它对我有用。现在我只需向数组添加标签,以便 ng-repeat 可以解析数据
    【解决方案2】:

    在 PHP 中,尝试:

    $associateArray = array(
                    'name'          => 'Test Data',
                    'quantity'      => 1,
                    'unit'          => 'ks',
                    'unit_price'    => 200
            );
    

    将关联数组转换为 Json 对象

    $JsonObject = json_encode($associateArray);
    

    将 Json 字符串转换为关联数组

    $SociateArray = json_decode($JsonString, true);
    

    【讨论】:

    • 感谢@PaoIm,我当然也会尝试实施您的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 2013-09-21
    • 2018-10-13
    • 2019-04-13
    相关资源
    最近更新 更多