2012-07-24 153 views
1

使用PHP,我該如何解析一個JSON對象,並使用方括號給出的數組並通過管道「|」分隔?PHP:解析JSON和方括號

例如,我需要訪問「數據」的第二個組件,在本例中爲「英文」。 假設長度是可變的,所以你不能按字符位置切片。

{"Username":"5018", 
"Data":["53094185|English|USA|2012-07-24 12:49:00|AZ|"], 
"Location":"New York"} 
+1

對應於密鑰的值'「數據」'是具有單個字符串元素的數組。 JSON不關心字符串分隔符。抓住字符串,「分裂」它,然後繼續前進。 – 2012-07-24 16:57:32

+0

謝謝傑克 - 但實際的語法是什麼,我似乎無法得到它實際打印出「數據」數組,或它的任何一塊。 – 2012-07-24 17:18:41

回答

2

其簡單:

$X = json_decode($JSON); 
$arr = explode('|', $X->Data[0]); 
print_r($arr) 
+0

Thanks Max,但代碼無效:<?php $ jsontest ='{「Username」:「5018」, 「Data」:[「53094185 | English | USA | 2012-07-24 12 :49:00 | AZ |「], 」位置「:」紐約「}'; echo $ jsontest; $ parsed = json_parse($ jsontest); $ arr = explode('|',$ parsed ['Data']); print_r($ arr); ?> – 2012-07-24 17:16:08

+1

它現在應該正常工作,我拼錯了一個函數名。它是json_decode而不是''json_parse'''。現在測試! – MaX 2012-07-24 17:19:28

+0

真棒謝謝:) – 2012-07-24 17:52:47

0

json_decode it。您仍然需要拆分數據數組值字符串,因爲這只是JSON中的一個簡單字符串。