2010-08-06 149 views
1

我需要一些方法要麼 -JSON - 刪除方括號,並確定一定的字符串

去掉方括號通過捲曲時選擇保存或者解碼JSON文本文件

和或刪除這兩個「創造」和「修改」字符串,以便在使用curl進行保存時,請僅保留url字符串。

[{ 
"created":"10:30pm 5 August 2010", 
"url":"\/Images\/Temp\/7553-12a40d5af00-12a45a200-12acd2ff1.0.png", 
"modified":"12:00am 7 August 2010" 
} 
] 

是否有一種簡單的方法來識別每個3個完整的字符串?

我所試圖做的是最終從腳本的URL與我的服務器URL匹配
感謝

好,利用艾倫風暴的方法,我需要能夠移除「」和字符串(** )的結果,這樣我可以添加http://somesite.com到輸出URL

這是結果

string(46) "/Images/temp/7553-12a4b226700-12a4b88690e.0.png" 
string(58) "/Images/temp/7553-12a488f3900-12a4c6bfe00-12a49861587.0.png" 
string(58) "/Images/temp/7553-12a488f3900-12a4eff2c00-12a4986463c.0.png" 
string(58) "/Images/temp/7553-12a488f3900-12a51925a00-12a49877738.0.png" 

理想的情況下,這是我想

結果
http://somesite.com//Images/temp/7553-12a4b226700-12a4b88690e.0.png 

這是我現在使用

  $txt_file = $images_dir.'iso'.$i.'.txt'; 
      if(file_exists($txt_file)==false) 
      $img = $error_img; 
     else 
     { 
      $handle = fopen($txt_file, 'r'); 
      $obj = fread($handle,filesize($txt_file)); 
      $array_of_objects = json_decode($obj); 
      $object = $array_of_objects[0]; 
      var_dump($object->url); 
} 

感謝您的幫助迄今爲止

回答

1

假設你需要的PHP代碼的代碼,你有應答的變量名爲$響應:

$obj = json_decode($response); 
$url = $obj[0]->url; 

編輯來糾正以前的錯誤代碼(由Alan指出)

+0

謝謝 - 我會給它一個去。 – Gary 2010-08-06 23:13:10

+1

該代碼不起作用。 PHP不允許對函數調用進行數組訪問([]),並且我非常確定stdClass對象的數組訪問也被禁止,或者至少不鼓勵。 – 2010-08-07 00:28:08

+0

謝謝Alan,這只是一個簡單的回答,解釋了這個想法不僅僅是工作代碼。我更新並測試了代碼。 – ggarber 2010-08-07 00:51:13

1

PHP內置了用於解碼JSON字符串的函數。以下代碼示例應該讓您瞭解如何獲取所需的數據。

<?php 
$string = '[{ 
"created":"10:30pm 5 August 2010", 
"url":"\/Images\/Temp\/7553-12a40d5af00-12a45a200-12acd2ff1.0.png", 
"modified":"12:00am 7 August 2010" 
} 
]'; 

$array_of_objects = json_decode($string); 
$object = $array_of_objects[0]; 

var_dump($object->created); 
var_dump($object->url); 
var_dump($object->modified);  
+0

謝謝 - 這給了我2種不同的方式來處理這個 – Gary 2010-08-06 23:27:25

+0

已編輯我原始的帖子,以顯示這種方法發生了什麼 – Gary 2010-08-07 08:52:13

+0

只需刪除var_dump – 2010-08-07 09:02:40