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

我正在尝试读取一个 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 类型的对象作为数组


holdtom
浏览 143回答 2
2回答

不负相思意

如果要将 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) {&nbsp; &nbsp; if(!is_array($item)) {&nbsp; &nbsp; &nbsp; &nbsp; $header2[$key] = $item;&nbsp; &nbsp; }}//to see the other headervar_export($header2);foreach ($json_data['data'] as $item => $value) {print $item['symbol'];print ' - ';print $item['ltp'];print ' - ';print '<br>';}

慕姐4208626

我无法重现您收到的错误,但是您当前拥有的代码存在一些问题。您正在尝试使用$item作为数组的内容而不是$value,$tem是数组的索引而不是内容。此外,由于键区分大小写 - 您必须使用'ltP'而不是'ltp'...foreach ($json_data['data'] as $item => $value) {&nbsp; &nbsp; print $value['symbol'];&nbsp; &nbsp; print ' - ';&nbsp; &nbsp; print $value['ltP'];&nbsp; &nbsp; print ' - ';&nbsp; &nbsp; print '<br>';}
打开App,查看更多内容
随时随地看视频慕课网APP