在循环内解析JSON与PHP

问题描述:

如何解析这个JSON与PHP?在循环内解析JSON与PHP

[{"index":0,"date":" 20120029","title":"testtitle"} 

这有多个实例。例如:

[{"index":0,"date":" 20120029","title":"testtitle"},{"index":1,"date":" 20120007","title":"testtitle"},{"index":2,"date":" 20120006","title":"testtitle"}] 

当我尝试一个在线解析器时,我得到了这个。

[ 
{ 
"index":0, 
"date":" 20120029", 
"title":"testtitle" 
}, 
{ 
"index":1, 
"date":" 20120007", 
"title":"testtitle" 
}, 
{ 
"index":2, 
"date":" 20120006", 
"title":"testtitle" 
} 
] 

什么,我需要知道的是如何将我提取数据,并得到一个变量$index$date$title

我在foreach中需要这个。那么对于每一个事件回声呢?

任何帮助将是伟大的。

由于

您使用json_decode()了点。

foreach (json_decode($str, true) as $item) { 
    echo $item['title'], "\n"; 
} 
+0

你美丽的男人。谢谢! –

在PHP可以使用json_decode将数据转换回的阵列/对象(PHP docu)。对于实际的遍历,我宁愿在这里通常使用循环。

$data = json_decode('[{"index":0,"date":" 20120029","title":"testtitle"},{"index":1,"date":" 20120007","title":"testtitle"},{"index":2,"date":" 20120006","title":"testtitle"}]', true); 

for($i=0; $i<count($data); $i++) { 
    echo $data[ $i ][ 'index' ]; 
    echo $data[ $i ][ 'date' ]; 
    echo $data[ $i ][ 'title' ]; 
} 

但是,如果你想使用一个foreach循环:

foreach($data as $item) { 
    echo $item[ 'index' ]; 
    echo $item[ 'date' ]; 
    echo $item[ 'title' ]; 
} 
+0

你忘了通过'$ assoc'参数'json_decode' ......如果不是这样,你应该使用' - >':) –

+0

@Jack THX和编辑。 – Sirko

尝试

$data = '[{"index":0,"date":" 20120029","title":"testtitle"},{"index":1,"date":" 20120007","title":"testtitle"},{"index":2,"date":" 20120006","title":"testtitle"}]'; 

$json = json_decode($data); 
foreach($json as $v) 
{ 
    echo $v->index; 
    echo $v->date; 
    echo $v->title; 
} 

你为什么不尝试josn_decode()

$myNewArrayMadeFromJSON = json_decode($jsonString); 

for() { 
// A loop over $myNewArrayMadeFromJSON 
}