使用php从url解析json并保存在mysql数据库中
我收到了来自某个web服务的JSON响应使用php从url解析json并保存在mysql数据库中,php,json,Php,Json,我收到了来自某个web服务的JSON响应 { "success":true, "timestamp":1503291248, "quotes":{ "SAD":"ABC", "LOVE":"XYZ", "FRIENDSHIP":"SOME", "ENMITY":"LOREM IPSUM", ... //indicates there are a lot more categories } } 我已尝试使用此脚本回显数据 <?php
{
"success":true,
"timestamp":1503291248,
"quotes":{
"SAD":"ABC",
"LOVE":"XYZ",
"FRIENDSHIP":"SOME",
"ENMITY":"LOREM IPSUM",
... //indicates there are a lot more categories
}
}
我已尝试使用此脚本回显数据
<?php
$url = 'MY_URL';
$content = file_get_contents($url);
$json = json_decode($content, true);
foreach ( $json as $idx=>$json ) {
echo $idx;
}
?>
但是如果得到空响应,我如何在mySql中回送/保存上面的josn数据呢?试试这个
$url = 'MY_URL';
$content = file_get_contents($url);
$json = json_decode($content, true);
foreach ( $json as $val) {
echo $val['success']; //same for other keys
}
您正在尝试使用代码中未声明的变量。这是在PHP中迭代对象的正确语法
<?php
$url = 'MY_URL';
$content = file_get_contents($url);
$json = json_decode($content, true);
foreach ( $json as $key=>$value)
{
echo $key." = ".$value;
}
?>
这将打印json数据。
要在mysql中保存此json数据,可以直接将
$json
值插入mysql表的文本列。什么是“位置”?在json数组中看不到?应该为$obj获取未定义的变量。我在你的代码中的任何地方都看不到它。请先粘贴完整的代码。我是PHP世界的新手,正在编写教程,不知道!我认为应该是foreach($json as$key=>$value)
。在您的示例中,您使用了两次$json
!它工作正常但不正确,它打印success:1timestamp:1503294550quotes:Array
,如何解决quotes:Array
的问题我想在cate\u name=SAD和value=ABC
中插入数组的每一项,等等?太好了!它需要一些更多的修改对我来说,但它的工作很好。
$json = file_get_contents('url_here');
$obj = json_decode($json);
echo $obj->access_token;
<?php
$url = 'MY_URL';
$content = file_get_contents($url);
$json = json_decode($content, true);
foreach ( $json as $key=>$value)
{
echo $key." = ".$value;
}
?>
<?php
$url = '{
"success":true,
"timestamp":1503291248,
"quotes":{
"SAD":"ABC",
"LOVE":"XYZ",
"FRIENDSHIP":"SOME",
"ENMITY":"LOREM IPSUM",
... //indicates there are a lot more categories
}
}';
$content = file_get_contents($url);
$json = json_decode($content, true);
foreach ( $json as $idx=>$json ) {
if(is_array($json))
{
foreach($json as $iidx=>$jjson)
{
echo $iidx.":".$jjson;
}
}
else
{
echo $idx.":".$json;
}
}
$ins_qry = 'INSERT INTO json_table(jsonvalues) values ("'.$json.'")';
$exec_qry = mysqli_query($link,$ins_qry);
?>