php格式化json
A. php 怎么 字符串 转 json对象
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php,里面定义了个一个json字符串。
B. php 如何声明返回数据格式为 JSON
xml格式返回的是数据一般是这样的,但也有不同:
<?xml version="1.0" encoding="gbk"?> <root> <head> <actdate>20170805</actdate> <trdate>20170805</trdate> <trtime>142410</trtime> <trseq>20170807001</trseq> <succflag>1</succflag> <retcode>0000</retcode> <retmsg>鎴愬姛</retmsg> </head> <body> <rowcount>0</rowcount> </body> </root>
一般xml直接用php的:simplexml_load_string();解析成数组,但我解析的时候提示:有无法解析的数据编码。
也就是数据乱码的那部分,解决乱码我用了header的声明,但不管用,最后用了:
iconv('utf-8','gbk',$a);
问题解决,先转码,后解析
最后json转换就行了。
C. 用php如何将数据(文本和图片)转换成json格式
前台:
<form action="跳转页面" method="post" enctype="multipart/form-data">
<input type="file" name="fname" />
<input type="submit" value="Submit" />
</form>
input[type=file] 表示:需要上传的文本或者图片
后台:
echo json_encode($_POST); // 输出json 字符串
输出的内容是上传到服务器的文件路径等相关信息
D. php怎么将数组数组转化为json格式的数据
一、json_encode()
[php]view plain
<?php
$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echojson_encode($arr);
?>
{"a":1,"b":2,"c":3,"d":4,"e":5}
$obj->body='anotherpost';
$obj->id=21;
$obj->approved=true;
$obj->favorite_count=1;
$obj->status=NULL;
echojson_encode($obj);
{
"body":"anotherpost",
"id":21,
"approved":true,
"favorite_count":1,
"status":null
}
- 由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。
输出
[php]view plain
再看一笑祥个对象转换的例子:
[php]view plain
输出
[php]view plain
二、索引数组和关联数组
PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。
由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。
E. PHP生成多维数组的json格式
php中将数组格式换换为json格式可以使用 json_encode函数。
示例代码如下:
<?php
//定义数组
$arr=array('city'=>array('北京','上海','广州'),'order'=>array(1,2,3));
//将数组转换为json格式
var_mp(json_encode($arr));
?>
json格式效果:
F. 如何将php的变量值转换为json值
当php变量为数组的时候,通常会需要转化为json数据格式。使用内置php内置函数json_encode()来完成转化。转化完成后一般会遇到另一个头疼的问题,就是中文转化成json格式后会出现乱码的情况,针对这种情况,通常会先经过urlencode处理然后再经过urldecode进行反处理。这样处理后就可以解决乱码的问题了。
G. php转换成json数据格式
其实就是把这3个结果并成一个数组,再转就是了例如,$res1=mysql_query($sql1);$res2=mysql_query($sql2);$res3=mysql_query($sql3);定义一个新的数组$a=array();将3个结果压入这个新的数组array_push($a,$res1);array_push($a,$res2);array_push($a,$res3);最后转义输出echojson_encode($a);LZ遇到问题不要气馁呀
H. PHP 怎么字符串转换成json格式输出
你这个不就是json字符串么?
php里面有2个函数:json_encode和json_decode
查一下手册就可以解决了。
json_decode($str,true)可以得到数组,第二参数不加默认为false,得到对象。