2015-01-05 46 views
1

我試圖傳遞一個數組的API,該API採用陣列中,當我在POSTMAN (raw form)運行下面的格式,傳球達陣,以一個API

{ 
"records": [ 
    { 
    "content": "50.150.50.55", 
    "type": "A", 
    "name": "test.mauqe.com", 
    "prio": null, 
    "ttl": 3600 
    } 
    ] 
} 

,而我試圖傳遞數組在我的代碼在這種格式下,

$data = array(
      "content" => "50.150.50.55", 
      "type" => "A", 
      "name" => "gulpanra.mauqe.com", 
      "prio" => "null", 
      "ttl" => "3600" 
      ); 

我不明白,最新的問題。迴應說錯誤(Data sending format error)。 plz help

+2

請張貼一個更完整的代碼示例,這表明你是如何調用您正在使用的功能將這些數據從php發送到這個API服務。 –

+0

你忘記添加記錄嗎?你有沒有嘗試3600作爲一個數字而不是一個字符串?然後嘗試null爲null而不是字符串? – ChrisAdmin

回答

1
<?php 
$data = array('records' => array()); 
$data['records'][] = array( 

       "content" => "50.150.50.55", 
       "type" => "A", 
       "name" => "gulpanra.mauqe.com", 
       "prio" => null, 
       "ttl" => 3600 

     ); 

$json_output = json_encode($data); 
echo $json_output; 
?> 

這會給下面的輸出:

{"records":[{"content":"50.150.50.55","type":"A","name":"gulpanra.mauqe.com","prio":null,"ttl":3600}]} 
+0

你是天才(Y) –

+0

歡迎兄弟:) –

1

使用json_encode以json格式轉換您的數組,然後將它傳遞給api。

您正在使用的Api期望以json格式顯示數據。

$data = json_encode($data); 
0

您需要將數組轉換爲json格式才能將其傳遞給api。使用json_encode()。使用下面

$array = array("content" => "50.150.50.55", "type" => "A", "name" => "gulpanra.mauqe.com", "prio" => "null", "ttl" => "3600"); 
$data = json_encode($data); // Pass this to API 

希望這有助於你

2

的API預計地圖的數組的代碼。以下是一系列地圖。

[ 
    { 
    "content": "50.150.50.55", 
    "type": "A", 
    "name": "test.mauqe.com", 
    "prio": null, 
    "ttl": 3600 
    }, 
    {}, 
    {}, 
    ... 
] 

你傳遞的是不一樣的。你正在傳遞一個地圖

{ 
     "content" => "50.150.50.55", 
     "type" => "A", 
     "name" => "gulpanra.mauqe.com", 
     "prio" => "null", 
     "ttl" => "3600" 
} 

嘗試修正$數據:

$data = array(); 

array_push($data['records'], array(
     "content" => "50.150.50.55", 
     "type" => "A", 
     "name" => "gulpanra.mauqe.com", 
     "prio" => "null", 
     "ttl" => "3600" 
)); 
+0

這很可能是正確的,但它也需要它作爲'json' ;-) – Darren

+0

究竟..........你是對的,我已經轉換成json,但如何轉換我的數組到地圖數組中。 pleaseeee –

+0

我假設json_encode已經排序,因爲在OP已經有了它。查看解決方案的最後部分,我已經建議如何聲明$ data。 – rurouni88

0

你必須讓陣列之外,例如,你正在使用這種類型的數組的編碼

$data['records'] = array(
     'content' => '50.150.50.55', 
     and so on 
); 

將此排列更改爲此

$data = array(
    'content' => '50.150.50.55', 
    and so on 
); 

這將有助於