php转换成json数据格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php转换成json数据格式相关的知识,希望对你有一定的参考价值。
"programmers": [ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" ,
"firstName": "Jason", "lastName":"Hunter", "email": "bbbb" ,
"firstName": "Elliotte", "lastName":"Harold", "email": "cccc"
],
"authors": [
"firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" ,
"firstName": "Tad", "lastName": "Williams", "genre": "fantasy" ,
"firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction"
],
"musicians": [
"firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" ,
"firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano"
]
这样的数据格式是怎么样转换的
我从数据库查出来的数据直接转换的话是
[
"firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" ,
"firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano"
]
这样的!
因为是分开查询三个表 ,把它组成一条json数据,应该怎么去写
例如,
$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);
最后转义输出
echo json_encode($a);
LZ遇到问题不要气馁呀 参考技术A json和php数组 格式的互相转换,参考如下:
$php_json = json_encode($json_arr); //把php数组格式转换成 json 格式的数据
echo $php_json;
$php_json = json_decode($php_json); //再把json格式的数据转换成php数组
print_r($php_json);
json数组
$json = '["id":"22","name":"33","descn":"44"]'; //json格式的数组转换成 php的数组
$arr = (Array)json_decode($json);
echo $arr[0]->id; //用对象的方式访问 参考技术B php有现成的系统函数,json_encode和json_decode,一个是将数组变成json格式字符窜,一个是将json格式字符串变成PHP数组
PHP从Mysql查出来的数据转换成json格式中文乱码怎么解决
$conn=connectDb();
$result=mysql_query('select * from users ORDER by id DESC ');
$datacount=mysql_num_rows($result);
for ($i=0;$i<$datacount;$i++)
$result_arr=mysql_fetch_array($result);
$json=array(
'id'=>$result_arr['id'],
'name'=>$result_arr['name'],
'$age'=>$result_arr['age']
);
$id=$result_arr['id'];
$name=$result_arr['name'];
$age=$result_arr['age'];
echo "<tr><td>$id</td><td>$name</td><td>$age</td><td><a href='edituser.php?id=$id'>修改</a><a href='deletuser.php?id=$id'>删除</a></td></tr>";
echo json_encode($json);
解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:
//urlencode处理function json_array($obj)
foreach($obj as $key => $value)
if(is_array($obj[$key]))
$obj[$key] = json_array($obj[$key]);
else
$obj[$key] = urlencode($value);
return $obj;
//urldecode解密转换为中文字符
function _json($obj)
return urldecode(json_encode(json_array($obj)));
echo _json($json);//$json为你要输出的json数组
此处递归调用是为了处理多维数组······
参考技术A 在PHP5.4, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode。echo json_encode($json, JSON_UNESCAPED_UNICODE);找了篇文档可以参考下:http://blog.csdn.net/bjash/article/details/9834497
以上是关于php转换成json数据格式的主要内容,如果未能解决你的问题,请参考以下文章