php 读取 json 里面的字段内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 读取 json 里面的字段内容相关的知识,希望对你有一定的参考价值。

"count":"左脑":2,"右脑":3,"全脑":2,"全脑1":1,"score":"左脑":8,"右脑":14,"全脑":15,"全脑1":8,"pingjun":"左脑":4,"右脑":4.6666666666667,"全脑":7.5,"全脑1":8 如何读取 json里面的 pingjun这个值

示例代码如下:


<?php
header("Content-type: text/html; charset=utf-8");
$postArray = \'["count":"左脑":2,"右脑":3,"全脑":2,"全脑1":1,"score":"左脑":8,"右脑":14,"全脑":15,"全脑1":8,"pingjun":"左脑":4,"右脑":4.6666666666667,"全脑":7.5,"全脑1":8]\';
$de_json = json_decode($postArray, true);
echo $de_json[0][\'pingjun\'][\'左脑\'];
?>


json 数组结构如图:


追问

但是我 就是想输出 整体 pingjun这里面的值 得怎么写呀

追答

整体输出是一样的啊,最简单的用 print_r 就可以输出数组内容了。如果想要进行进一步的处理,可以读取数组值后再输出,比如:

$de_json = json_decode($postArray, true);

echo \'左脑: \' . $de_json[0][\'pingjun\'][\'左脑\'] .\'<br>\';
echo \'右脑: \' . $de_json[0][\'pingjun\'][\'右脑\'] .\'<br>\';
echo \'全脑: \' . $de_json[0][\'pingjun\'][\'全脑\'] .\'<br>\';
echo \'全脑1: \' . $de_json[0][\'pingjun\'][\'全脑1\'] .\'<br>\';

echo \'<pre>\';
print_r($de_json[0][\'pingjun\']);
echo \'</pre>\';


追问

因为这个 类型 是不一定, 不一定是左脑或者右脑什么的。 所以 就不能单一的 去读哪个名字, 所以我就想把他们整体的输出 然后把这个输出的 在存入数据库的一个字段。 在我用的时候 我在拆分他们。
列如:我就想把json里面 是pingjun 输出 : 左脑: 4,右脑: 4.6666666666667,全脑: 7.5,全脑1: 8
绝对新手,有点蒙圈。谢谢帮忙

追答$de_json = json_decode($postArray, true);

foreach($de_json[0][\'pingjun\'] as $key => $value)

  echo "$key : $value ,";
参考技术A

方法和详细的操作步骤如下:

1、第一步,打开php编辑器,创建一个新的php文件,例如:index.php,然后填写基本代码,见下图,转到下面的步骤。

2、第二步,执行完上面的操作之后,在index.php中,输入代码,见下图箭头所指的内容,转到下面的步骤。

3、第三步,执行完上面的操作之后,当浏览器运行index.php页面时,在此操作期间将输出lng和lat值,见下图。这样,就解决了这个问题了。

参考技术B $a = '"count":"左脑":2,"右脑":3,"全脑":2,"全脑1":1,"score":"左脑":8,"右脑":14,"全脑":15,"全脑1":8,"pingjun":"左脑":4,"右脑":4.6666666666667,"全脑":7.5,"全脑1":8';

$b = json_decode($a);
$status = $b->pingjun;追问

输出不了啊 这样 我也是这样写的, 但是没有

参考技术C 参考示例代码如下:
<?php
$json = '"a":100,"b":200,"c":300,"d":400,"e":500';

//首先将json字符串转换成关联数组
$arr=json_decode($json, true);

//然后循环读取数据
foreach($arr as $item)
echo $item;
echo "<br/>";

?>

运行结果:
100
200
300
400
500
参考技术D json_decode($str,ture); 将json转化为数组,数组取值你知道怎么取吧?追问

我是新手,帮忙下写吧。

用php解析json里面的内容,然后打印出来

url输出的是一个json的格式
<?php
$url ='http://www.kuaidi100.com/query?type=ems&postid=5036983946902';
?>
用php把json解析出来,需要data->content,data->time这两个。
然后按时间由旧到新排列。图片中的时间是由新到旧排列的。

只有这点分了,谢谢。

参考技术A <?php
$str = file_get_contents("http://www.kuaidi100.com/query?type=ems&postid=5036983946902");
$arr = json_decode($str, 1);

print_r($arr);

追问

不懂php,怎么解析出来像图片里面一样,然后按时间由旧到新排列

追答<?php
$str = file_get_contents("http://www.kuaidi100.com/query?type=ems&postid=5036983946902");
$arr = json_decode($str, 1);
$arr = $arr['data'];

for ($i = count($arr) - 1; $i >= 0; $i --) 
echo "$arr[$i]['time'] $arr[$i]['context']</br>";

本回答被提问者采纳
参考技术B json_decode();

以上是关于php 读取 json 里面的字段内容的主要内容,如果未能解决你的问题,请参考以下文章

java中如何读取json文件,在本地有E:/a.json文件,想读取这个json文件里面的内容,怎样实现

php 读取json数组

如何用jquery读取json文件里面的数值并且修改保存

Java如何读取网址中的json内容

js怎样读取json里面的数据

java读取json文件的问题