0

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 文字列に反映されています。

4

1 に答える 1