2013-05-18 65 views
1

我在PHP以下JSON數據:JSON數據:得到一個場

"data": { 
    "visible": false, 
    "test": "test1", 
    "gagnante": false, 
    "create": "2013-05-17 21:53:39", 
    "update": 1368820419 
} 

但是,我想只得到了create領域。像這樣:

"data": { 
    "create": "2013-05-17 21:53:39" 
} 

我該怎麼辦?

+3

你提的問題是非常不完整。你在用什麼語言工作?更重要的是,你有什麼自己的嘗試? – Perception

+0

好的,但是您使用的是哪種語言? – cvsguimaraes

+0

你有什麼麻煩? JSON是一種格式,而不是語言,所以它不能自行分析​​。你在用什麼語言? – Blender

回答

0
$geolocatorrequest = 'http://maps.googleapis.com/maps/api/geocode/json?address=' . $urlreadystreetaddress . '&sensor=false'; 
$geolocatorresponse = file_get_contents($geolocatorrequest); 
$geolocatordata = json_decode($geolocatorresponse, true); 

然後你可能會想看看你有什麼樣的結構。

echo "<pre>" . print_r($geolocatorresponse) . "</pre>"; 

這會告訴你結構,所以你知道你的價值遵循什麼陣列關鍵路徑。 由於您未能提供您正在使用的API的網址,因此您只需在我的示例之後進行建模即可。

順便說一句:

json_decode($geolocatorresponse, true); 

添加真實的,使得它給你一個PHP數組形式的信息。否則,你將它作爲對象來獲得,如果你用對象去,因爲我還沒有對它們進行深入研究,那麼你就是自己的。

2

使用json_decode()解碼JSON,然後分析它,只要你想

喜歡的東西

<?php 
$json = ' "data": { 
     "visible": false, 
     "test": "test1", 
     "gagnante": false, 
     "create": "2013-05-17 21:53:39", 
     "update": 1368820419 
    }' 

    $array = json_decode($json, true); 
    echo $array['create']; 
?> 

不要忘記,包括第二個參數true否則json_decode將返回,而不是陣列

0

第一個對象的所有json代碼都要求將外部{}視爲有效的JSON,現在考慮您可以在文件中包含數據:

$json = json_decode(file_get_contents('myFile.json'), true);  
$createField = $json['data']['create']; 
// use array() instead of [] for php 5.3 or lower 
$newJson = ["data" => ["create" => $createField]]; 
$newJson = json_encode($newJson); 
file_put_contents('myNewFile.json', $newJson); 

這將從完整的JSON中獲取內容並將其轉換爲關聯數組,然後您可以創建一個新數組,然後傳遞所需的變量並以json格式對數據進行編碼,最後一行保存新的json文件

0

不完全確定你在做什麼,但如果你正在運行相對較新版本的PHP,可以使用json_encode和json_decode。

我運行PHP 5.3.2或類似的東西,這裏是我做到了....

而且 - 不聽這些其他意見....對象幾乎都是比陣列恕我直言更好。

<?php 
echo "<pre>"; 

$array['data'] = array(
    'visible' => false, 
    'test'  => 'test1', 
    'gagnante' => false, 
    'create' => '2013-05-17 21:53:39', 
    'update' => 1368820419 
); 

echo "From array to json...<br><br>"; 
$json = json_encode($array); 

echo "<br><br>{$json}<br><br>"; 

echo "<br><br>back out to an obj...<br><br>"; 

$obj = json_decode($json); 

print_r($obj); 

echo "<br><br>get just the field you're after<br><br>"; 

$new_array['data'] = array(
    'create' => $obj->data->create 
); 

echo "Back out to json....<br><br>"; 
echo json_encode($new_array); 

echo "</pre>"; 
?> 

這將產生

From array to json... 


{"data":{"visible":false,"test":"test1","gagnante":false,"create":"2013-05-17 21:53:39","update":1368820419}} 



back out to an obj... 

stdClass Object 
(
    [data] => stdClass Object 
     (
      [visible] => 
      [test] => test1 
      [gagnante] => 
      [create] => 2013-05-17 21:53:39 
      [update] => 1368820419 
     ) 

) 


get just the field you're after 

Back out to json.... 

{"data":{"create":"2013-05-17 21:53:39"}}