2016-05-17 40 views
-2

我想追加一些JSON我從一個API響應到一封電子郵件,我希望將JSON輸出到一個HTML表格。問題是JSON響應看起來不像我之前使用過的任何東西。如何使用此JSON響應?

$vs_getClickPath = wp_remote_get('url'); 
$clickPath_body = wp_remote_retrieve_body($vs_getClickPath); 
$notification['message'] .= $clickPath_body; 

這給了我下面的:

[ 
    ["date\/time", "page name visited", "city", "region", "country", "company name\/isp", "identity", "search\/referral"], 
    ["2016-05-17 10:56:05", "Home Page", "Buffalo", "New York", "United States", "I-evolve Technology Services", "", ""] 
] 

所有的關鍵是第一位在一個陣列然後在另一個數組中的值顯示出來。嘗試使用索引只是獲得單個字符,foreach不起作用。我試過json_decode,但它不輸出任何東西print_rvar_dump

是否有反正我可以通過這個循環並輸出數據到HTML表格?第一個數組是表格標題,之後的每個數組都是表格行。

+0

只是遍歷鍵數組並使用索引來獲取值數組中的值。像這樣:'foreach($ result [0] as $ index => $ key){$ value = $ result [1] [$ index]; var_dump($ key,$ value); }'。 –

+0

你需要從它? –

+2

*「'我試過json_decode,但它不會輸出任何與print_r或var_dump。」*顯示你的嘗試。 –

回答

3

我用json_decode($str, true),它返回可與合作的數組:

$str = '[["date\/time","page name visited","city","region","country","company name\/isp","identity","search\/referral"],["2016-05-17 10:56:05","Home Page","Buffalo","New York","United States","I-evolve Technology Services","",""]]'; 
$json = json_decode($str, true); 
echo '<pre>'; 
print_r($json); 

回報

Array 
(
    [0] => Array 
     (
      [0] => date/time 
      [1] => page name visited 
      [2] => city 
      [3] => region 
      [4] => country 
      [5] => company name/isp 
      [6] => identity 
      [7] => search/referral 
     ) 

    [1] => Array 
     (
      [0] => 2016-05-17 10:56:05 
      [1] => Home Page 
      [2] => Buffalo 
      [3] => New York 
      [4] => United States 
      [5] => I-evolve Technology Services 
      [6] => 
      [7] => 
     ) 

) 

在通話設置truejson_decode()使得函數返回一個數組。如果你不想要一個數組,你可以通過將該選項退出呼叫來返回一個數組。

PHP's json_decode()

+0

哦,是的..這就是我之前嘗試的,但我只是不斷得到「1」作爲我的輸出。這似乎是與重力形式(我使用的電子郵件插件)。當我嘗試在電子郵件中使用print_r時,它會變得焦躁不安。對不起,應該在發佈之前發現這個問題 – user985952

+0

@ user985952:你打算如何使用'print_r'?它的第二個參數控制它是返回一個字符串還是隻是回聲。 –

+0

@火箭Hazmat我試着這個: $ clickPath_body = wp_remote_retrieve_body($ vs_getClickPath); \t $ json = json_decode($ clickPath_body,true); \t $ notification ['message']。= print_r($ json); – user985952

0

從你的輸出,其結果是陣列

[
[
"date\/time", "page name visited", "city", "region", "country", "company name\/isp", "identity", "search\/referral" ], [
"2016-05-17 10:56:05", "Home Page", "Buffalo", "New York", "United States", "I-evolve Technology Services", "", "" ] ]

數組你CAND在foreach內部的foreach找到值。

foreach ($clickPath_body as $array) { foreach ($array as $string) { echo $string; } echo "<br>"; }