我对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变量中?
答案 0 :(得分:3)
utf8_encode
因为JSON已经是UTF-8 file_put_contents
file_put_contents($cache, 'var myvar = '.$data.';');
CNC中
代码澄清我的解决方案:
$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.';');
答案 1 :(得分: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.');
}
编码清单: