json_decode是php5.2.0之后新增的一个PHP内置函数,其作用是对JSON格式的字符串进行编码.
json_decode的语法规则:json_decode(string$json[,bool$assoc=false[,int$depth=512[,int$options=0]]])
json_decode接受一个JSON格式的字符串并且把它转换为PHP变量,当该参数$assoc为TRUE时,将返回array否则返回object。
JSON格式的字符串
$json='{“a”:”php”,”b”:”mysql”,”c”:3}’;
其中a为键,php为a的键值。
我们来看一个实例:
<?php
$json='{“a”:”php”,”b”:”mysql”,”c”:3}’;
$json_Class=json_decode($json);
$json_Array=json_decode($json,true);
print_r($json_Class);
print_r($json_Array);
?>
程序输出:
stdClassObject(
[a]=>php
[b]=>mysql
[c]=>3)
Array(
[a]=>php
[b]=>mysql
[c]=>3)
在上面代码的前提下
访问对象类型$json_Class的a的值
1echo$json_Class->{‘a’};
程序输出:php
访问数组类型$json_Array的a的值
1echo$json_Array[‘a’];
程序输出:php

json

json_decode教程:处理数据并输出

这是我的json格式字符串的php代码:
$string='{“items”:[
{
“address”:”W7thAve”
},
{
“address”:”W8thSt”
}
]}’;$json=json_decode($string,true);foreach($jsonas$key=>$value){echo”$key:$valuen”;
};?>
我想学习怎么将json字符串解析/输出为能够在html中显现或放入数据库的内容..但是我被困在一个很简单的问题上,但是我花了大部分时间试图弄清楚
我想了解的是为什么上面代码的成果给我以下成果:
“items:Array”
不是我想要/期望得到的:
“items:W7thAve””items:W8thSt”
我想念什么?数组中的项目”下的地址”不是下一个级别”吗?
引荐答案
$string=file_get_contents(‘./string.json’);
$json=json_decode($string);
假如您想拥有items::
foreach($json[‘items’]as$address)
{echo”items:”.$address[‘address’].”n”;

json_decode

};
无论怎么,假如不确定怎么构建数组,能够经过以下方法打印它:
print_r($json);
将打印:
Array(
[items]=>Array(
[0]=>Array(
[address]=>W7thAve
)
[1]=>Array(
[address]=>W8thSt
)
)
)
现在您发现$json仅包含两个数组的一个数组(items),然后,假如对其进行循环,您将取得在示例中打印的该数组.如上所述,您需要经过循环items数组中的元素并打印其address元从来更进一步.

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。