为了账号安全,请及时绑定邮箱和手机立即绑定

PHP - 如何读取json文件头和其他对象并插入mysql

PHP - 如何读取json文件头和其他对象并插入mysql

PHP
holdtom 2021-07-07 13:03:14
我正在尝试读取一个 json 文件,该文件具有页眉、正文和页脚部分,随后想使用 PHP 代码插入到 mysql db 中。我试图读取 json 文件,但是该文件几乎没有标题对象和数据对象。数据对象有很多记录。我想分别读取标题和数据。我试图读取数据对象,但是即使打印语句也不起作用。请帮助分别解析标题和数据对象。代码$json = file_get_contents('./f.json');$json_data = json_decode($json,true);print_r($json_data);foreach ($json_data['data'] as $item => $value) {    print $item['symbol'];    print ' - ';    print $item['ltp'];    print ' - ';    print '<br>';}我希望从数据对象中解析和提取值,但出现以下错误:PHP 致命错误:无法在 /home/fut/public_html/on.php 中使用 stdClass 类型的对象作为数组
查看完整描述

2 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

如果要将 JSON 解码为数组,则需要传递第二个参数 True


<?php

$json = file_get_contents('./f.json');


$json_data = json_decode($json, true);


print_r($json_data);


//to see header

$header = array_keys($json_data['data'][0]);

var_export($header);


$header2 = [];

foreach($json_data as $key => $item) {

    if(!is_array($item)) {

        $header2[$key] = $item;

    }

}

//to see the other header

var_export($header2);


foreach ($json_data['data'] as $item => $value) {

print $item['symbol'];

print ' - ';

print $item['ltp'];

print ' - ';

print '<br>';


}


查看完整回答
反对 回复 2021-07-09
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

我无法重现您收到的错误,但是您当前拥有的代码存在一些问题。


您正在尝试使用$item作为数组的内容而不是$value,$tem是数组的索引而不是内容。


此外,由于键区分大小写 - 您必须使用'ltP'而不是'ltp'...


foreach ($json_data['data'] as $item => $value) {

    print $value['symbol'];

    print ' - ';

    print $value['ltP'];

    print ' - ';

    print '<br>';

}


查看完整回答
反对 回复 2021-07-09
  • 2 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信