从数组数组中获取信息

时间:2015-07-17 12:05:34

标签: json

我尝试仅使用一个函数获取JSON信息,并且工作正常。当它变成两个或更多时虽然指出应该使用数组数组。

如何解码此信息?

get.php

$response = array("home"=>$home, "topr"=>$top);
echo json_encode($response);

test.js

$(document).ready(function() {

    $.get("php/get_ratings.php")
    .done(function(data) {
        var results = jQuery.parseJSON(data); // Should I change this?

        $.each(results, function(i, value) { // Or this?
        })
    });
});

1 个答案:

答案 0 :(得分:3)

PHP称之为“数组”的并不是大多数语言所谓的“数组”,包括JSON和JavaScript。您的回复将采用以下形式:

{"home": something, "topr": something}

在您的代码中:

  1. 不,你不需要解析它,如果正确发送(例如,使用Content-Type: application/json),jQuery会为你做这件事。

  2. 您可以访问所收到对象的.home.topr属性。

  3. E.g:

    $( document ).ready(function() {
    
        $.get( "php/get_ratings.php")
        .done(function(data) {  
            // use data.home and data.topr here
        }); 
    });
    

    你用它们做什么取决于它们是什么,你没有表现出来。如果它们是数字索引数组(大多数语言称为数组),您的响应将如下所示:

    {"home":["stuff","here"], "topr": ["stuff","here"]}
    

    ... .home.topr将是JavaScript数组。

    如果它们是像您的顶级事物那样的PHP关联数组,那么它们将作为对象出现,其属性以关联数组的键命名。