首页 > 后端开发 > 正文

php后端开发框架json 如何用php 制作json 格式api

2023-09-23 10:40:33 | 我爱编程网

后端开发是很多朋友有关注的类型,那么php后端开发框架json 如何用php 制作json 格式api,我爱编程网为大家带来了相关文章,希望给大家提供参考。

php后端开发框架json 如何用php 制作json 格式api

php可以JSON输出json格式吗

json格式与语言无关,任何语言都可以输出json格式的数据。

不过js可以直接json数据转为对象,很方便。

在Php5.2以后内置了json函数,
json_encode json_decode

示例
<?php
$arr = array ('aa'=>1,'ab'=>2,'ac'=>3,'d'=>4);

echo json_encode($arr);
?>
输出:{"aa":1,"ab":2,"ac":3,"d":4}

值得注意,php文件编码最好是utf-8模式

php后端开发框架json 如何用php 制作json 格式api

如何正确运用PHP json

从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。
1、json_encode()
该函数主要用来将数组和对象,转换为json格式。先看一个数组转换的例子:
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
上面代码的输出结果为:
{"a":1,"b":2,"c":3,"d":4,"e":5}
再看一个对象转换的例子:

复制代码代码如下:

$obj->body = 'another post';
$obj->id = 21;
$obj->approved = true;
$obj->favorite_count = 1;
$obj->status = NULL;
echo json_encode($obj);

以上代码的输出结果为:

复制代码代码如下:

{
"body":"another post",

"id":21,
"approved":true,
"favorite_count":1,
"status":null
}

由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。

2、索引数组和关联数组
PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。
由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。
比如,现在有一个索引数组:
$arr = Array('one', 'two', 'three');
echo json_encode($arr);
其输出结果为:
["one","two","three"]
如果将它改为关联数组:
$arr = Array('1'=>'one', '2'=>'two', '3'=>'three');
echo json_encode($arr);
结果就变了:
{"1":"one","2":"two","3":"three"}
注意,数据格式从"[]"(数组)变成了"{}"(对象)。
如果你需要将"索引数组"强制转化成"对象",可以这样写
json_encode( (object)$arr );
或者:
json_encode ( $arr, JSON_FORCE_OBJECT );
3、类(class)的转换
下面是一个PHP的类:

复制代码代码如下:

class Foo {

const ERROR_CODE = '404';
public $public_ex = 'this is public';
private $private_ex = 'this is private!';
protected $protected_ex = 'this should be protected';
public function getErrorCode() {
return self::ERROR_CODE;
}
}

现在,对这个类的实例进行json转换:

复制代码代码如下:

$foo = new Foo;
$foo_json = json_encode($foo);
echo $foo_json;

输出结果是:
{"public_ex":"this is public"}

可以看到,除了公开变量(public),其他东西(常量、私有变量、方法等等)都遗失了。
4、json_decode()
该函数用于将json文本转换为相应的PHP数据结构。下面是一个例子:

复制代码代码如下:

$json = '{"foo": 12345}';
$obj = json_decode($json);
print $obj->{'foo'}; // 12345

通常情况下,json_decode()总是返回一个PHP对象,而不是数组。比如:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));

结果就是生成一个PHP对象:

复制代码代码如下:

object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)

}

如果想要强制生成PHP关联数组,json_decode()需要加一个参数true:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json),true);

结果就生成了一个关联数组:

复制代码代码如下:

array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

5、json_decode()的常见错误
下面三种json写法都是错的,你能看出错在哪里吗?

复制代码代码如下:

$bad_json = "{ 'bar': 'baz' }";
$bad_json = '{ bar: "baz" }';
$bad_json = '{ "bar": "baz", }';

对这三个字符串执行json_decode()都将返回null,并且报错。

第一个的错误是,json的分隔符(delimiter)只允许使用双引号,不能使用单引号。第二个的错误是,json名值对的"名"(冒号左边的部分),任何情况下都必须使用双引号。第三个的错误是,最后一个值之后不能添加逗号(trailing comma)。
另外,json只能用来表示对象(object)和数组(array),如果对一个字符串或数值使用json_decode(),将会返回null。
var_dump(json_decode("Hello World")); //null

php后端开发框架json 如何用php 制作json 格式api

如何用php 制作json 格式api

"\u5dee\u65c5\u8d39"
JSON_UNESCAPED_UNICODE 可保证中文原样输出.
如果低于 5.4(>5.3) 使用下面方式保证中文原样:
?
1234    $data = json_encode($data);$data = preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/u', function ($match) {     return mb_convert_encoding(pack('H*', $match[1]), "utf-8", "UTF-16BE");}, $data);
我爱编程网

以上就是我爱编程网为大家带来的php后端开发框架json 如何用php 制作json 格式api,希望能帮助到大家,了解更多相关信息,敬请关注我爱编程网。
与“php后端开发框架json 如何用php 制作json 格式api”相关推荐
php后台框架输出json php连接数据库后如何输出转换为json格式API,求详细解答,
php后台框架输出json php连接数据库后如何输出转换为json格式API,求详细解答,

PHP是怎么返回json格式的数据php输出JSON格式,使用json_encode函数即可例如:&lt;?phpheader('Content-type: text/json');$fruits = array (    "fruits"  =&gt; array("a" =&gt; "orange", "b" =&gt; "banana", "c" =&gt; "apple"

2023-09-18 08:57:05
json框架php 如何正确运用PHP json
json框架php 如何正确运用PHP json

在PHP中如何使用JSONAPI这篇文章主要介绍了深入浅析JSONAPI在PHP中的应用,需要的朋友可以参考下现在服务端程序员的主要工作已经不再是套模版,而是编写基于JSON的API接口。可惜大家编写接口的风格往往迥异,这就给系统集成带来了很多不必要的沟通成本,如果你有类似的困扰,那么不妨关注一下JSONAPI,它是一个基于JSON构建API的规范标准,一个简单的API接口大致如下所示

2023-09-01 19:36:16
php后端开发框架json数据 如何在PHP中返回Json数据
php后端开发框架json数据 如何在PHP中返回Json数据

如何在PHP中返回Json数据概述不对。返回json用的json_encode()方法没错,但是需要在头部声明格式。代码解析php返回需要用json_encode()方法来将需要转换的字符串转换成json编码格式(注意:仅仅更换文件内容,而返回的文件依然为文本格式且编码为gtk)所以,这里需要在php头部声明header('Content-Type

2023-09-24 13:31:39
php后端开发框架json数据库 php如何将结果集转json
php后端开发框架json数据库 php如何将结果集转json

php如何将结果集转jsonphp将结果集转json的方法:首先将数据库中的数据存储到一个数组;然后对这个数组进行编码;最后通过“json_encode”函数进行json编码并打印结果即可。推荐:《PHP视频教程》PHP将数据库查询内容转换为JSON格式且显示中文最近写android,开始写服务器了。最终服务器的语言就先定为PHP,因为以前写过一阵子网页,所以就先用PHP试试水

2023-10-07 02:36:58
php生成json框架 php如何转json
php生成json框架 php如何转json

php框架搭建方法?php框架搭建步骤:1.项目初始化首先我们在自己的web目录下创建我们的项目目录,我暂且把项目命名为hellovod,因此我的电脑目录就是:D:laragonwwwhellovod。在该目录下创建composer.json文件。2.添加入口文件初始化完毕后,我们来配置入口文件。在hellovod目录下新建一个public文件夹,并在该文件夹下创建

2023-09-13 09:33:01
php后台框架制作 PHP如何用IFRAME制作网站后台
php后台框架制作 PHP如何用IFRAME制作网站后台

php后台开发1.后台每个文件都是需要验证是否登录、或者验证是否有权限管理此页面。2.一般后台都采用左/右或上/下(左、右)的风格。下面是一个上/下(左、右)风格的样例:【index.php:框架分为上(topFrame)和下(mainFrame)】&lt;!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Frameset//EN""-frameset

2023-09-12 21:02:00
layui框架json循环数据php layui 利用ajax冲获取到json 数据后 怎样进行渲染
layui框架json循环数据php layui 利用ajax冲获取到json 数据后 怎样进行渲染

layui利用ajax冲获取到json数据后怎样进行渲染1、新建一个html文件,命名为test.html。2、在test.html中,使用script标签加载jquery.min.js文件,这是使用jquery方法的前提。3、在test.html页面中,创建一个button按钮,用于实现点击通过ajax请求获得json数据,在button下面再创建一个p元素,用于json数据

2023-09-24 13:28:40
php怎么能跨框架调接口 如何用php调用外部接口json数据
php怎么能跨框架调接口 如何用php调用外部接口json数据

php如何调用jsp接口php调用jsp接口的方法是使用curl_exec函数实现的。使用函数:file_get_contents($url);$URL=';param2=value2';//定义访问jsp的url//初始化curl$ch=curl_init();//设置curl返回结果curl_setopt($ch,CURLOPT_RETURNTRANSFER,

2023-10-06 17:20:21