簡體   English   中英

訪問多維數組JSON

[英]Accessing Multidimensional Arrays JSON

我有一個人數組,我需要訪問數組中的各個值,例如名字。

數組如下:

$people = array(
'jjones' => array('firstName' => 'Jim', 'lastName' => 'Jones', 'age' => 20, 'major' => 'Computer Science', 'phone' => '212-460-9393', 'email' => 'jjones@miamioh.edu', 'state' => 'OH'),
'asmith' => array('firstName' => 'April', 'lastName' => 'Smith', 'age' => 19, 'major' => 'Mechanical Engineering', 'phone' => '913-939-3929', 'email' => 'asmith@miamioh.edu', 'state' => 'WY'),
'pstemple' => array('firstName' => 'Pat', 'lastName' => 'Stemple', 'age' => 21, 'major' => 'Theater Performance', 'phone' => '917-222-2232', 'email' => 'pstemple@miamioh.edu', 'state' => 'NY'),
'jjones1' => array('firstName' => 'Janet', 'lastName' => 'Jones', 'age' => 22, 'major' => 'Botany', 'phone' => '817-332-9392', 'email' => 'jjones1@miamioh.edu', 'state' => 'CA'),
'llerner' => array('firstName' => 'Leon', 'lastName' => 'Lerner', 'age' => 18, 'major' => 'Biology', 'phone' => '315-444-3494', 'email' => 'llerner@miamioh.edu', 'state' => 'OH'),
'mmeyer' => array('firstName' => 'Margret', 'lastName' => 'Meyer', 'age' => 24, 'major' => 'Interactive Media Studies', 'phone' => '219-333-0303', 'email' => 'mmeyer@miamioh.edu', 'state' => 'OH'),
'achaudhry' => array('firstName' => 'Anik', 'lastName' => 'Chaudhry', 'age' => 19, 'major' => 'Management Information Systems', 'phone' => '914-555-5555', 'email' => 'achaudhry@miamioh.edu', 'state' => 'NY'),
'sdogg' => array('firstName' => 'Snoop', 'lastName' => 'Dogg', 'age' => 42, 'major' => 'Botany', 'phone' => '414-333-2433', 'email' => 'sdogg@miamioh.edu', 'state' => 'CA'),
'bclinton' => array('firstName' => 'Bill', 'lastName' => 'Clinton', 'age' => 25, 'major' => 'Political Science', 'phone' => '933-440-3033', 'email' => 'bclinton@miamioh.edu', 'state' => 'AK'),);

我已經設置了系統,因此它將接受部分查詢。 IE瀏覽器。 如果我要計算包含JJ的ID的數量,我將得到兩個。 但是,當我設置JavaScript時,似乎無法訪問有關每個ID的信息。 例如,當使用JJ時:

        console.log(count);
        console.log(json);
        console.log(json[0]);
        console.log(json[0].firstName);

將在控制台窗口中返回以下內容: 控制台映像 但是我可以深入到console.log(json); 追溯

我需要一種方法來直接在控制台中顯示諸如JJONES的名字之類的值。

PHP關聯數組,當以JSON編碼時,將轉換為對象,而不是數組。 因此,您不能使用[0]來訪問第一個。 要訪問jjones對象,可以執行以下操作:

console.log( json.jjones.firstName );
console.log( json['jjones'].firstName );

要遍歷它們,您可以執行以下操作:

for(var key in json){
    // key is jjones, asmith etc
    console.log( json[key].firstName );
}

在控制台中嘗試json[0].jjones.firstName ,您可以看到json[0]是具有屬性jjones對象,而jjones沒有屬性firstName

Javascript和PHP對數組的想法大相徑庭。

PHP既允許傳統的numeric數組,也允許關聯的數組。

JavaScript具有numeric數組,並且它使用objects作為關聯數組。

這篇文章將詳細介紹。

   console.log(json[0]['jjones'].firstName);

要么

   console.log(json[0].jjones.firstName);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM