我有一個PHP腳本,用下面的輸出輸出text/json
:被解釋爲對象的JSON數據的一部分以及被解釋爲數組的類似部分:爲什麼?
{"labels":{"ftemp":"Full time employment only","ptemp":"Part time employment only","study":"Further study only","workstudy":"Work and Study","noavail":"Not available for work","noemp":"Unemployed","other":"Other","refusal":"Information Refused"},"employjobs":{"Cambridge Beds Co Ltd.":"Accounts Assistant","Chinese Company":"Accountant"}}
格式化更漂亮,它看起來像這樣:
{
"labels":
{
"ftemp":"Full time employment only",
"ptemp":"Part time employment only",
"study":"Further study only",
"workstudy":"Work and Study",
"noavail":"Not available for work",
"noemp":"Unemployed",
"other":"Other",
"refusal":"Information Refused"
},
"employjobs":
{
"Cambridge Beds Co Ltd.":"Accounts Assistant",
"Chinese Company":"Accountant"
}
}
現在,對我來說這兩個「標籤」和「employjobs」看就像它們都是帶有鍵值對的json對象。但是,當我對腳本進行JQuery getJSON調用時,返回的數據對象中'labels'是一個對象,但'employjobs'是一個空數組。
我錯過了什麼? json字符串的兩個位的格式看起來相同,爲什麼一個被解釋爲一個對象而另一個是空數組?
任何幫助非常感謝收到,謝謝你提前。
UPDATE: 這裏的print_r在PHP腳本的數據輸出使其通過json_encode函數之前:
Array
(
[labels] => Array
(
[ftemp] => Full time employment only
[ptemp] => Part time employment only
[study] => Further study only
[workstudy] => Work and Study
[noavail] => Not available for work
[noemp] => Unemployed
[other] => Other
[refusal] => Information Refused
)
[employjobs] => Array
(
[Cambridge Beds Co Ltd.] => Accounts Assistant
[Chinese Company] => Accountant
)
)
正如你所看到的,「標籤」和「employjobs」是鍵值對數組,這反映在PHP腳本輸出的JSON字符串中。
曾嘗試在控制檯中查看JSON對象? – Mehdiway
是的,這就是我用來檢查對象。 – Jonah
下面是從控制檯中的WebKit檢查器的輸出: '對象{標籤:對象,employjobs:數組[0]} employjobs:數組[0] 長度:0 __proto__:數組[0] 標籤:對象 ftemp:「全職就業只有」 noavail:「不適用於工作」 noemp:「失業」 其他:「其他」 PTEMP:「兼職就業只有」 拒絕:「信息拒絕」 研究:「進一步只研究「 workstudy:」工作與學習「 __proto__:對象 __proto__:對象' – Jonah