Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php从url解析json并保存在mysql数据库中_Php_Json - Fatal编程技术网

使用php从url解析json并保存在mysql数据库中

使用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

我收到了来自某个web服务的JSON响应

{
  "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);
?>