text/json
次の出力を出力するphpスクリプトがあります。
{"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"
}
}
さて、私には、「ラベル」と「雇用ジョブ」の両方が、キーと値のペアを持つ json オブジェクトのように見えます。ただし、スクリプトに対して JQuery getJSON 呼び出しを行うと、返されるデータ オブジェクトで「labels」はオブジェクトですが、「employjobs」は空の配列です。
私は何が欠けていますか?json 文字列の両方のビットの形式が同じに見えるのに、一方がオブジェクトとして解釈され、もう一方が空の配列として解釈されるのはなぜですか?
大変感謝しております。よろしくお願いします。
更新: json_encode 関数を通過する直前の PHP スクリプトのデータに対する print_r の出力は次のとおりです。
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
)
)
ご覧のとおり、「labels」と「employjobs」はどちらもキーと値のペアの配列であり、これは PHP スクリプトによって出力される JSON 文字列に反映されています。