我想在循环中解析json字符串。我尝试使用以下代码,但解析后的数据永远不会在循环中打印出来!任何人都可以告诉我这里我做错了什么?提前谢谢。
$ code2样本数据:
{ p '5123': {
p 'tmp': p '1', p 'name': p 'mango', p 'abc': p 'abcd4 http://mysite/items/1234', p 'number': p '1123', p 'itemCategory_title': p 'fruits', p 'logo': p '2123.png', p 'itemCategory_id': p '90'
}, p '700': {
p 'tmp': p '0', p 'name': p 'cherry', p 'abc': p 'abcd4 http://mysite/items/1235', p 'number': p '1124', p 'itemCategory_title': p 'fruits', p 'logo': p '2124.png', p 'itemCategory_id': p '91'
} }
$ clean_str data:
{ '5123': {
'tmp': '1', 'name': 'mango', 'abc': 'abcd4 http://mysite/items/1234', 'number': '1123', 'itemCategory_title': 'fruits', 'logo': '2123.png', 'itemCategory_id': '90'
}, '700': {
'tmp': '0', 'name': 'cherry', 'abc': 'abcd4 http://mysite/items/1235', 'number': '1124', 'itemCategory_title': 'fruits', 'logo': '2124.png', 'itemCategory_id': '91'
} }
php代码:
<?
$code2 = stripslashes($_POST['outputtext']);
$clean_str = str_replace("p '","'",$code2);
$data = json_decode($clean_str);
foreach( $data as $item ) {
echo $item['tmp'];
echo $item['name'];
echo $item['abc'];
echo $item['number'];
echo $item['itemCategory_title'];
echo $item['log'];
echo $item['itemCategory_id'];
?>
<a href="./process.php?tmp=<?php echo $item['tmp'] ; ?>&name=<?php echo $item['name']; ?>&abc=<?php echo $item['abc'] ; ?>&itemCategory_title=<?php echo $item['itemCategory_title'] ; ?>&log=<?php echo $item['log'] ; ?>&itemCategory_id=<?php echo $item['itemCategory_id'] ; ?>"><?php echo $item['itemCategory_title'] ; ?>test </a> <br />
<?
}
?>
答案 0 :(得分:1)
要以数组形式获得结果,您应该:
$data = json_decode($clean_str, true);
JSON使用双引号&#34;不是单身&#39;
<?php
$code2 = stripslashes($_POST['outputtext']);
$clean_str = str_replace("p '","'",$code2);
$clean_str = str_replace('\'', '"', $clean_str);
$data = json_decode($clean_str, true);
foreach( $data as $item ) {
echo $item['tmp'];
echo $item['name'];
echo $item['abc'];
echo $item['number'];
echo $item['itemCategory_title'];
echo $item['log'];
echo $item['itemCategory_id'];
?>
<a href="./process.php?tmp=<?php echo $item['tmp'] ; ?>&name=<?php echo $item['name']; ?>&abc=<?php echo $item['abc'] ; ?>&itemCategory_title=<?php echo $item['itemCategory_title'] ; ?>&log=<?php echo $item['log'] ; ?>&itemCategory_id=<?php echo $item['itemCategory_id'] ; ?>"><?php echo $item['itemCategory_title'] ; ?>test </a> <br />
<?
}
?>