我已经创建了一个动态JSON文件。
我的代码是:
$res = mysql_query("select * from tbl_product where category='saree'");
while($rowpro=mysql_fetch_array($respro)) {
$records []= $rowpro;
$json_string=file_put_contents("product_file.json",json_encode($records));
}
如何从JSON文件中获取数据?使用while循环或类似的东西?
答案 0 :(得分:0)
这就是你在php文件中看到发布的json数据的方法。
我希望如此:
$json_string=json_encode($records);
你必须把标题
header('Content-Type: application/json;charset=utf-8');
和另一方
$file=file_get_contents('php://input');
$obj = json_decode($file, true);
$param = $obj['param'];
答案 1 :(得分:0)
首先,您在while
循环内写入文件的方式是错误的。因为您不必要地一次又一次地调用file_put_contents()
,这只会降低您的代码性能.. < / p>
所以重写你的代码..
$res = mysql_query("select * from tbl_product where category='saree'");
while($rowpro=mysql_fetch_array($respro))
{
$records[]= $rowpro;
}
file_put_contents("product_file.json",json_encode($records));
要阅读JSON数据,请使用file_get_contents()
喜欢这个..
$jsonData = file_get_contents("product_file.json");
echo $jsonData; //<--- Prints your JSON
答案 2 :(得分:0)
在PHP中,
header('Content-Type: application/json;charset=utf-8');
$str = file_get_contents('product_file.json');
$jsonData = json_decode($str, true); //json decode
在jquery中,您可以使用jQuery.getJSON
示例
$.getJSON( "product_file.json", function( data ) {
var items = [];
$.each( data, function( key, val ) {
items.push( "<li id='" + key + "'>" + val + "</li>" );
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo( "body" );
});
答案 3 :(得分:0)
$res = mysql_query("select * from tbl_product where category='saree'");
while($rowpro=mysql_fetch_array($res))
{
$records []= $rowpro;
$json_string=file_put_contents("product_file.json",json_encode($records));
}
首先,你在第2行有错误
mysql_fetch_array($res)
AND NOT
mysql_fetch_array($respro)
其次,使用file_get_contents和json_decode函数
$file=file_get_contents('php://input');
$obj = json_decode($file, true);
$param = $obj['param'];
谢谢