2014-08-28 35 views
0

我有以下生成的JSON結果,並想找出我如何可以將結果分爲2個變量:獨立JSON結果到變量

JSON

{ 
    "data": [ 
     [ 
      { 
       "source": "server1", 
       "host": "pc1", 
       "description": "SSH server is down on {HOSTNAME}", 
      } 
     ], 
     [ 
      { 
       "source": "server2", 
       "host": "pc2", 
       "description": "webapp down", 
      } 
     ] 
    ], 
    "error": { 
     "server3": "Host is not allowed to connect to this MySQL server", 
     "server4": "Can't connect to MySQL server", 
    } 
} 

預期的結果:

{ 
    "data": [ 
      { 
       "source": "server1", 
       "host": "pc1", 
       "description": "SSH server is down on {HOSTNAME}", 
      }, 
      { 
       "source": "server2", 
       "host": "pc2", 
       "description": "webapp down", 
      } 
     ] 
} 

而且

{ 
    "error": { 
     "server3": "Host is not allowed to connect to this MySQL server", 
     "server4": "Can't connect to MySQL server", 
    } 
} 

PHP代碼:

<?php 
    include '../include/db_conn.php'; 
    print to_json(get_all_alert()); 
$return = get_all_alert(); 
print to_json($return["data"]); 
print to_json($return["error"]); 
?> 

php代碼仍然打印結果兩次。謝謝

回答

1

那麼,你有一個額外的線,你可能不需要。

print to_json(get_all_alert());

刪除,你的問題很可能會消失。

+0

謝謝,這工作,但仍然有一個問題。 json格式不是好的 – Chelseawillrecover 2014-08-28 11:06:23

2

你的json數據不正確,你可以在這裏查看:http://json.parser.online.fr/ 從每個數組部分刪除額外的逗號。

試試這個:

<?php 
$data1='{ 
    "data": [ 
     [ 
      { 
       "source": "server1", 
       "host": "pc1", 
       "description": "SSH server is down on {HOSTNAME}" 
      } 
     ], 
     [ 
      { 
       "source": "server2", 
       "host": "pc2", 
       "description": "webapp down" 
      } 
     ] 
    ], 
    "error": { 
     "server3": "Host is not allowed to connect to this MySQL server", 
     "server4": "Cant connect to MySQL server" 
    } 
}'; 

$val_array = json_decode($data1,true); 

print_r($val_array['data']); 
print_r($val_array['error']); 
+0

謝謝,我能夠使用您的答案來糾正錯誤並解決問題。 – Chelseawillrecover 2014-08-28 15:08:08