本文目录一览:
如何在PHP中返回Json数据
概述
不对。
返回json用的json_encode()
方法没错,但是需要在头部声明格式。
代码解析
php返回需要用json_encode()
方法来将需要转换的字符串转换成json编码格式(注意:仅仅更换文件内容,而返回的文件依然为文本格式且编码为gtk)
所以,这里需要在php头部声明
header('Content-Type:text/json;charset=utf-8');
拓展内容
json JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 json通常被作为配置文件,常见还有.ini
PHP生成及获取JSON文件的方法
本文实例讲述了PHP生成及获取JSON文件的方法。分享给大家供大家参考,具体如下:
首先定义一个数组,然后遍历数据表,把相应的数据放到数组中,最后通过json_encode()
转化数组
json_encode()
函数的功能是将数值转换成 JSON 数据存储格式。
putjson.php:
<?php
// 生成一个PHP数组
$data = array();
$data[0] = array('1','吴者然','onestopweb.cn');
$data[1] = array('2','何开','iteye.com');
// 把PHP数组转成JSON字符串
$json_string = json_encode($data);
// 写入文件
file_put_contents('test.json', $json_string);
?>
有同名的 JSON 文件则覆盖,没有则创建。 生成或覆盖的 JSON 如下:
[["1","\u811A\u672C\u4E4B\u5BB6",""],["2","\u7F16\u7A0B\u5F00\u53D1","jb51.net"]]
然后,把 JSON 文件中的数据读取到PHP变量中。 getjson.php:
<?php
// 从文件中读取数据到PHP变量
$json_string = file_get_contents('test.json');
// 把JSON字符串转成PHP数组
$data = json_decode($json_string, true);
// 显示出来看看
var_dump($data);
echo '<br><br>';
print_r($data);
echo '<br><br>';
echo '编号:'.$data[0][0].'<br>姓名:'.$data[0][1].'<br>网址:'.$data[0][2];
echo '<br>';
echo '编号:'.$data[1][0].'<br>姓名:'.$data[1][1].'<br>网址:'.$data[1][2];
?>
效果图: PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
- 在线JSON代码检验、检验、美化、格式化工具:
- JSON在线格式化工具:
- 在线XML/JSON互相转换工具:
- json代码在线格式化/美化/压缩/编辑/转换工具:
- C语言风格/HTML/CSS/json代码格式化美化工具: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。
如何在php中正确的使用json
将json字符串解析成对象:
$json = '{"a":1,"b":2}';
$obj = json_decode($json);
echo $obj->a; // 1
echo $obj->b; // 2
将对象转为json字符串
echo json_encode(array('a'=>1,'b'=>2)); // {"a":1,"b":2}
php解析不了JSON?
$keys = '{result:0,events:[{event:6}]}';
$string = json_decode($keys);
答:json_decode( )
可以实现对 JSON 格式的字符串进行编码
你的Json字符串有问题
结果:
array(2) {
["result"] = int(0)
["events"] = array(1) {
[0] = array(1) {
["event"] = int(6)
}
}
}
php怎么接收json数据格式
PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array)
转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-www-form-urlencoded标准的数据类型。因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST
数组来接收就会失败!
此时可以使用$GLOBALS['HTTP_RAW_POST_DATA']
或 file_get_contents('php://input')
来获取提交的数据
查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA']
和 $_POST
的区别:
$_POST
:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。
$GLOBALS['HTTP_RAW_POST_DATA']
:总是产生 $HTTP_RAW_POST_DATA
变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA
对于 enctype="multipart/form-data"
表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA']
和 $_POST
是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']
来接收,比如 text/xml 或者 soap 等等。
php如何发送和接收JSON数据
对于json,PHP有对应的方法进行操作。
一般而言,json会以字符串形式传给PHP脚本,一般都是放在$_POST
里面,
<?php
// 接收
$json_parameter = $_POST['json_str'];
// 处理, 变成数组
$array = json_decode($json_parameter);
// PHP 把数组数据变成json格式字符串,发给页面
$demo = array(
'key' => 'value',
'key2' => 'value2'
);
$demo_json = json_encode($demo); // 格式是{"key":"value","key2":"value2"}
echo $demo_json;