我有一个包含此JSON数据的php文件:
<pre>
{
"1": "Select A Message",
"2": "Please Contact (us) Dispatch",
"3": "Send Rate Conf Info (no rates)",
"4": "Pick, Name, Address, Phone, Ref, Date/Time",
"5": "Cons Name, Address, Phone, Ref, Date/Time",
"6": "First sample custom text message",
"7": "Second sample custom text message",
"8": "Third sample custom text message"
}
</pre>
当我尝试从另一个文件访问数据时,什么都没有。
但是,当我将相同的数据放在.txt文件中时,我可以抓住它。
BTW,我添加了<pre></pre>
,因为没有它,数据中没有换行符;换行没有帮助。
JSON数据只能包含在.json或.txt文件中吗?
=======
ADDED
JSON数据是在PHP文件中b / c我正在使用用PHP编写的XMPP-PreBind脚本。那个文件(prebind.php)给了我三个我需要的变量。在prebind.php中,JSON以这种方式出现:
{
"jid" : "<?php echo $sessionInfo['jid']; ?>",
"sid" : "<?php echo $sessionInfo['sid']; ?>",
"rid" : "<?php echo $sessionInfo['rid']; ?>"
}
正确加载正确的值。
问题是我无法获取JSON数据。
我尝试$.getJSON('prebind.php', function (data) {
但没有任何回复,控制台也没有错误。
现在我正在尝试使用PHP的json_encode和json_decode:
$sessionIDs = array("jid" => $sessionInfo['jid'] , "sid" => $sessionInfo['sid'] , "rid" => $sessionInfo['rid']);
json_encode($sessionIDs);
然后在我要解码的文件中,我有......
$sessionIDs = file_get_contents ('prebind.php');
$jsonArray = json_decode ($sessionIDs);
问题在于$ sessionIDs包含PHP文件中的所有代码,包括JSON!
如何只解码包含JSON的文件部分?
答案 0 :(得分:0)
删除<pre></pre>
代码并使用file_get_contents()
或curl检索文件,无论文件扩展名是什么。然后json_decode()
会给你一个数组。
示例:
$json = file_get_contents ("file.json");
$jsonArray = json_decode ($json);
print_r ($jsonArray);
注意:我没有编译它。确保您的json文件包含有效的json字符串。
答案 1 :(得分:0)
这似乎是糟糕的编码风格和实践。您应该将数据存储在json文件中,然后读取json数据并显示在php文件中。