2010-08-19 50 views
1

我使用PHP调用一个网站的API的值。我可以将数据拉入并放入数组中,但使用JSON时,其中一个属性($ title)会返回太多数据。JSON_encode添加太多东西!我如何过滤全部?

例如,如果我只是做

echo $new_array[27]['title'];

- >我得到 “事件名称”,但如果我这样做

echo json_encode($new_array[27]['title']);

- >我得到{ “@属性” :{“abc_id”:“8”},“0”:“Event Name”}

我想使用JSON,因为这与我正在做的其他事情一起工作,但有没有一种方法可以str ip out {“@attributes”:{“abc_id”:“8”},“0”:部分只是将“Event Name”作为一个字符串本身?

回答

0

尝试:

$json = $new_array[27]['title']; 

echo json_encode($json); 
+0

没了那个让我同样的事情... { “@属性”:{ “abc_id”: “8”} ,“0”:“Event Name”} – tlflow 2010-08-19 21:45:46

0

我不知道你有你的阵列中出现,所以这些都是猜测!

你可以尝试:

unset($new_array[27]['title']['@attributes']); 

或者:

$a = array(); 
foreach($new_array[27]['title'] as $arr) { 
    $a[] = $arr->__toString(); 
} 
echo json_encode($a); 
+0

感谢您的帮助,但那对我没有任何作用(至少现在还没有) - 但它让我想到......为了“作弊”我可以爆炸然后修剪任何多余的东西。现在它可以继续工作,但我会继续玩弄你给我的想法,看看它是否能解决问题。谢谢! – tlflow 2010-08-21 05:11:02