PHP的JSON封装、转变及输出操作示例

yipeiwu_com7年前PHP代码库

本文实例讲述了PHP的JSON封装、转变及输出操作。分享给大家供大家参考,具体如下:

Json封装

protected function renderJSON($data=[], $msg ="ok", $code = 200)
{
    //设置格式
    header('Content-type: application/json');
    //输出json格式的内容
    print_r(json_encode([
      "code" => $code,
      "msg"  => $msg,
      "data" => $data,
      "req_id" => uniqid()
    ]));
    //结束
    return Yii::$app->end();
}

Json转变

<?php
// 告诉浏览器以json编码
header('Content-type:text/json');
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
// 没有设置则输出对象
var_dump(json_decode($json));
echo "<br>";
// 为true则为输出数组
var_dump(json_decode($json, true));
echo "<br>";
$array=array('a','f','q','d','a','g');
var_dump(json_encode($array,JSON_HEX_TAG));
?>

Json输出

<?php
// 告诉浏览器以json编码
header('Content-type:text/json');
$json = '{"fruit":{{"apple":"苹果"},{"banana":"苹果"}}';
// string(49) "{"fruit":{{"apple":"苹果"},{"banana":"苹果"}}"
var_dump($json);

PS:本站还提供了如下XML与JSON相关工具,方便大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

php代码在线格式化美化工具:
http://tools.jb51.net/code/phpformat

在线XML格式化/压缩工具:
http://tools.jb51.net/code/xmlformat

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP面向对象多态性实现方法简单示例

本文实例讲述了PHP面向对象多态实现方法。分享给大家供大家参考,具体如下: 多态:父类引用指向子类对象(面向对象中能够根据使用类的上下文(使用输入不同的类调用不同类的方法)来重新定义或改...

浅析php变量修饰符static的使用

静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。看看下面的例子:复制代码 代码如下:function test(){static $a=0;$a++;echo $...

php的urlencode()URL编码函数浅析

URLEncode的方式一般有两种,一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),另一种是基于UTF-8的Encode(Google、Yahoo等使用)。...

PHP Imagick完美实现图片裁切、生成缩略图、添加水印

本文实例讲解了PHP使用Imagick 裁切、生成缩略图、添加水印自动检测和处理,支持gif,分享给大家供大家参考,具体内容如下 调用方式: include 'imagick.cl...

Thinkphp框架中D方法与M方法的区别

D()和M()方法的区别: D和M的区别主要在于 M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现 而D方法必须有创建模型...