如何將通過URL輸出的JSON保存到文件中?將從URL輸出的JSON保存到文件中
e.g從Twitter搜索API(這http://search.twitter.com/search.json?q=hi)
語言並不重要。
謝謝!
編輯//我如何將更多更新附加到EOF?
編輯2 //很好的回答傢伙,但我接受了我認爲是最優雅的那個。謝謝! :)
如何將通過URL輸出的JSON保存到文件中?將從URL輸出的JSON保存到文件中
e.g從Twitter搜索API(這http://search.twitter.com/search.json?q=hi)
語言並不重要。
謝謝!
編輯//我如何將更多更新附加到EOF?
編輯2 //很好的回答傢伙,但我接受了我認爲是最優雅的那個。謝謝! :)
這很容易在任何語言,但機制各不相同。隨着wget和一個shell:
wget 'http://search.twitter.com/search.json?q=hi' -O hi.json
要追加:
wget 'http://search.twitter.com/search.json?q=hi' -O - >> hi.json
使用Python:
urllib.urlretrieve('http://search.twitter.com/search.json?q=hi', 'hi.json')
要追加:
hi_web = urllib2.urlopen('http://search.twitter.com/search.json?q=hi');
with open('hi.json', 'ab') as hi_file:
hi_file.write(hi_web.read())
這裏的(詳細))的Java變種:
InputStream input = null;
OutputStream output = null;
try {
input = new URL("http://search.twitter.com/search.json?q=hi").openStream();
output = new FileOutputStream("/output.json");
byte[] buffer = new byte[1024];
for (int length = 0; (length = input.read(buffer)) > 0;) {
output.write(buffer, 0, length);
}
// Here you could append further stuff to `output` if necessary.
} finally {
if (output != null) try { output.close(); } catch (IOException logOrIgnore) {}
if (input != null) try { input.close(); } catch (IOException logOrIgnore) {}
}
也參見:
您可以使用CURL
curl -d "q=hi" http://search.twitter.com -o file1.txt
在PHP:
$outfile= 'result.json';
$url='http://search.twitter.com/search.json?q=hi';
$json = file_get_contents($url);
if($json) {
if(file_put_contents($outfile, $json, FILE_APPEND)) {
echo "Saved JSON fetched from 「{$url}」 as 「{$outfile}」.";
}
else {
echo "Unable to save JSON to 「{$outfile}」.";
}
}
else {
echo "Unable to fetch JSON from 「{$url}」.";
}
您可以使用Jackson:
ObjectMapper mapper = new ObjectMapper();
Map<String,Object> map = mapper.readValue(url, Map.class);
mapper.writeValue(new File("myfile.json"), map);
下面是用PHP和F打開這樣做的另一種方式。
<?php
// Define your output file name and your search query
$output = 'result.txt';
$search = 'great';
write_twitter_to_file($output, $search);
/*
* Writes Json responses from twitter API to a file output.
*
* @param $output: The name of the file that contains the output
* @param $search: The search term query to use in the Twitter API
*/
function write_twitter_to_file($output, $search) {
$search = urlencode($search);
$url = 'http://search.twitter.com/search.json?q=' . $search;
$handle = fopen($url, "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
file_put_contents($output, $buffer, FILE_APPEND);
echo "Output has been saved to file<br/>";
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}
}
?>
然後我會如何在EOF上添加更多更新? – Skizit 2010-06-14 21:10:18