php输出json
‘壹’ 关于php输出json数据的问题
标准json key 和value都必须被双引号包裹,所有。。这样
‘贰’ php中如何输出json对象
header('Content-type:application/json');
echojson_encode($array);
exit();
‘叁’ php数组输出这样的json
<?php
$arr_str=array(
"returncategory"=>0,
"data"=>array(
"newslist"=>array(
array(
"title"=>"标题",
"image"=>"http://192.168.1.8.8080/2014010501015450.gif",
"source"=>"我的博客",
"commentcount"=>120,
"newsid"=>10
),
),
"totalnum"=>10
),
);
echo(json_encode($arr_str));
?>
‘肆’ php 循环输出 json 数组
<?php
$Tdata='[{"A_Name":"a1","ICNo":"","A_ContNo":"","A_QQNo":""},{"A_Name":"a2","ICNo":"","A_ContNo":"","A_QQNo":""},{"A_Name":"a3","ICNo":"","A_ContNo":"","A_QQNo":""}]';
$arr=json_decode($Tdata,true);
//var_mp($arr);
echo stripcslashes ($arr[0][A_Name]);
?>
上面的方法可以打印输出,json_decode($Tdata)输出的结果是一个对应,而json_decode($Tdata,true)输出的是一个数组
‘伍’ php怎样输出这种格式的json
$Array=array(
'status'=>'ok',
'data'=>array(
array('title'=>'我是标题一','mytime'=>'2015-01-2317:29:46',
array('title'=>'我是标题二','mytime'=>'2015-01-2317:29:46'
)
);
echojson_encode($Array);
‘陆’ 如何用php输出这种json格式
json_decode('{"fruit":[{"id":"1","name":"apple"},{"id":"1","name":"banana"}]}');
你的是错的,至少外面的plant()是错的。。。数组转json:json_encode
‘柒’ PHP 输出json
<?php
$Json='[
"ActionScript",
"AppleScript",
"Asp",
"Python",
"Scheme"
]';
$Arr=json_decode($Json,true);
echo$Arr[0];//输出ActionScript,其他几个同理
‘捌’ php可以JSON输出json格式吗
php直接输出json格式,有一个误区,以为用echo json_encode($data);这样就是输出json数据了,没错这样输出文本是json格式文本而不是json数据,正确的写法是应该加一句:
<?php
header('Content-type:text/json');
//这句是重点,它告诉接收数据的对象此页面输出的是json数据;
$json={"name":"yovae","password":"12345"};
//虽然这行数据形式上是json格式,如果没有上面那句的话,它是不会被当做json格式的数据被处理的;
echo $json;
?>你看过后很简单吧以后不会可以向我一样经常到后盾人平台找找相关教材看看就会了,希望能帮到你,给个采纳吧谢谢( ̄(エ) ̄)
‘玖’ php如何输出中文json格式字符串
php如何输出中文json格式字符串
如何对json格式的字符串进行转换,php提供了两个函数:
json_encode 对变量进行 JSON 编码
json_decode 对 JSON 格式的字符串进行编码
下面看个实例:
$arr = ['a', 'b', 'c'];echo json_encode($arr);
输出为:
["a","b","c"]
但是,当我们在数组中放入中文的时候,就会出现问题:
$arr = [ '世界', '你好',
];echo json_encode($arr);
输出的结果为:
["\u4e16\u754c","\u4f60\u597d"]
这个结果显然不是我们想要的,但是为什么出现这个呢?
因为当我们的值中包含中文时,php对他进行json编码时底层会对中文进行unicode编码,导致结果不可读,那该怎么解决呢?
方法一
可以利用 urlencode 和 urldecode 方法绕过这个转码为 unicode 的过程,先将中文字段进行urlencode,然后json_encode,最后再用urldecode处理结果,便可以正常显示中文。具体代码如下:
$arr = [ '世界', '你好',
];echo urldecode(json_encode(array_map('urlencode', $arr)));
输出结果为:
["世界","你好"]
方法二
自PHP5.4版本,官方就已经给Json新增了一个选项: JSON_UNESCAPED_UNICODE。加上这个选项后,就不会自动把中文编码了。具体代码如下:
$arr = [ '世界', '你好',
];echo json_encode($arr, JSON_UNESCAPED_UNICODE);
["世界","你好"]
看吧,这才是我们想要的结果 :)