2012-02-08 11 views
0

私は間違ったJSONエンコーディング - PHPは、それが

{ 
    1 : { 
    name: "John Doe", 
    birthYear: "1990", 
    reqion: "USA" 
    phone: "604789577",      
    }, 
    2 : { 
    name: "Jose Dirack", 
    birthYear: "1970", 
    reqion: "Europe" 
    phone: "768789577",      
    } 
} 

そしてjson_decode()はそれを復号化するuanbleあり、このJSONファイルを持って読んカント。 なぜ表示されますか?どのように修正するか考えていますか?

+2

'reqion: "USA" 電話: "604789577"、'コンマが欠落している – rodneyrehm

+2

JSONLint(jsonlint.com)はこのような状況のために便利なツールです。 – xbonez

+0

"reqion"はおそらく "region"でなければなりませんが、もちろんJSONの問題ではありません。それは間違っている。 :-) –

答えて

3

objectsのキーが正しくstringsをエンコードする必要があります

{ 
    "1" : { 
    "name": "John Doe", 
    "birthYear": "1990", 
    "reqion": "USA", 
    "phone": "604789577" 
    }, 
    "2" : { 
    "name": "Jose Dirack", 
    "birthYear": "1970", 
    "reqion": "Europe", 
    "phone": "768789577" 
    } 
} 

分離カンマでタイプミスもありました。

+0

今は注意が必要です(私の編集を参照してください) –

+0

私はすでに気付いています。 – Gumbo

+0

修正されたバージョンを表示し、ほとんど知られていないRFCにリンクするための+1。 –

1

鍵は、JSON specごとに二重引用符で囲む必要があります。外側のオブジェクトが配列である場合は、{}[]にスワップし、明示的な番号付けを削除します。

reqionの後にコンマがありません。

また、後に置かないコンマもあります。

+0

ええ、Crockfordは本当に後ろのコンマを許可しないことでそれを吹き飛ばしました。 –

0

これを試してみてください:

[ 
    { 
    "name": "John Doe", 
    "birthYear": "1990", 
    "reqion": "USA", 
    "phone": "604789577"     
    }, 
    { 
    "name": "Jose Dirack", 
    "birthYear": "1970", 
    "reqion": "Europe", 
    "phone": "768789577"     
    } 
] 
+1

あなたにはいくつかのカンマが不足している –

関連する問題