0

我对 json 非常陌生,并且已经在这个问题上工作了大约一周。

我使用 php 从帐户列表中检索推文并将它们存储到 .txt 文件中

$cache = dirname(__FILE__) . '/../cache/twitter-json.txt';

$data = file_get_contents('http://api.twitter.com/1/lists/statuses.json?    slug=widget&owner_screen_name=webcodepro&count=1&page=1&per_page=8&include_rts=true&include_entities=true');    

    $cachefile = fopen($cache, 'wb');
    fwrite($cachefile,utf8_encode($data));
    fclose($cachefile);

?>

架构师构建前端页面的方式是我需要将 json 值(我在 .txt 文件中拥有的)存储到 .js 文件中的 json 变量中并呈现它。

编辑:所以它已更改为

$cache =_ _DIR__.'/cached.txt'; 
$data = file_get_contents('http://api.twitter.com/1/lists/statuses.json?    slug=widget&owner_screen_name=webcodepro&count=1&page=1&per_page=8&include_rts=true&include_entities=true'); 

file_put_contents($cache, $data);

该文件出现空。你们知道可能是什么问题吗?

是否可以将 .txt 文件的内容存储到 .js 文件中的 json 变量中?

4

2 回答 2

3
  1. 不需要,utf8_encode因为 JSON 已经是 UTF-8
  2. 你可以简单地使用file_put_contents
  3. file_put_contents($cache, 'var myvar = '.$data.';');

-edit-
澄清我的解决方案的代码:

$cache = __DIR__.'/cached.txt';
$data = file_get_contents('http://api.twitter.com/1/lists/statuses.json?slug=widget&owner_screen_name=webcodepro&count=1&page=1&per_page=8&include_rts=true&include_entities=true');
file_put_contents($cache, 'var mydata = '.$data.';');
于 2012-07-09T12:45:04.513 回答
1

是否可以将 .txt 文件的内容存储到 .js 文件中的 json 变量中?

对的,这是可能的:

$txtFile  = '/path/to/txt-file.txt';
$jsFile   = '/path/to/js-file.js';
$jsPlate  = "var jsVariable = %s;\n";

$string   = file_get_contents($txtFile);
if (FALSE === $string) {
    throw new RuntimeException('Failed to load text-file.');
}

$json     = json_encode($string);
if (FALSE === $json) {
    throw new RuntimeException('Failed to json encode string.');
}

$jsString = sprintf($jsPlate, $json);
$result   = file_put_contents($jsFile, $jsString);
if (!$result) {
    throw new RuntimeException('Failed to save javascript-file.');
}

编码清单:

  • 文本文件是 UTF-8 编码的。
于 2012-07-09T15:56:25.127 回答