php数组输出这样的json

php中文网
发布: 2016-06-23 13:51:39
原创
1357人浏览过

请问如何输出这样的json ?



{
    data = (
                {
"article_url" = "/disease/item/1";
"create_time" = "2014-08-11 11:38:58";
"knowledge_id" = 1;
title = "U6d4bU8bd5U9057U4f20U75c5U5e931";
},
                {
"article_url" = "/disease/item/3";
"create_time" = "2014-07-22 15:38:28";
"knowledge_id" = 3;
title = "U6211U7684U9057U4f20U77e5U8bc6";
 }
);
    errcode = 0;
    errdesc = "";
}

其中 ,来源于表的数据
"article_url" = "/disease/item/1";
"create_time" = "2014-08-11 11:38:58";
"knowledge_id" = 1;
title = "U6d4bU8bd5U9057U4f20U75c5U5e931";

表的循环读取程序,

      $i=0;
$listarr=array();
while($db->ROW())
{
$listarr[$i]["article_url"]=$ROW[article_url];
$listarr[$i]["create_time"]=$ROW[create_time];
$listarr[$i]["knowledge_id"]=$ROW[knowledge_id];
$listarr[$i]["titlee"]=$ROW[title];
$i++;

}
如何通过这段 while程序输出最上面的json ?
请大家帮看看。

Zend Framework 2.4.3 完整版本
Zend Framework 2.4.3 完整版本

Zend框架2是一个开源框架,使用PHP 5.3 +开发web应用程序和服务。Zend框架2使用100%面向对象代码和利用大多数PHP 5.3的新特性,即名称空间、延迟静态绑定,lambda函数和闭包。 Zend框架2的组成结构是独一无二的;每个组件被设计与其他部件数的依赖关系。 ZF2遵循SOLID面向对象的设计原则。 这样的松耦合结构可以让开发人员使用他们想要的任何部件。我们称之为“松耦合”

Zend Framework 2.4.3 完整版本 344
查看详情 Zend Framework 2.4.3 完整版本

回复讨论(解决方案)

上面是组装的吧,代码给的不全。  errcode = 0;
    errdesc = ""; 这两个哪里来的?

你的表数组没有这个值  errcode = 0;    errdesc = "";
你可以打印原数组看看
print_r($listarr);

这个是数组合并的。主要是这部分的内容


data = (
                 {
 "article_url" = "/disease/item/1";
 "create_time" = "2014-08-11 11:38:58";
 "knowledge_id" = 1;
 title = "U6d4bU8bd5U9057U4f20U75c5U5e931";
 },
                 {
 "article_url" = "/disease/item/3";
 "create_time" = "2014-07-22 15:38:28";
 "knowledge_id" = 3;
 title = "U6211U7684U9057U4f20U77e5U8bc6";
  }
 );

json?有??的?法,我想你大概意思是

{    "data":[        {            "article_url":"/disease/item/1",            "create_time":"2014-08-11 11:38:58",            "knowledge_id":"1",            "title":"title1"        },        {            "article_url":"/disease/item/3",            "create_time":"2014-08-11 11:38:58",            "knowledge_id":"1",            "title":"title3"        }    ],    "errcode":"0",    "errdesc":""}
登录后复制


/** Json数据格式化 * @param  Mixed  $data   数据 * @param  String $indent 缩进字符,默认4个空格 * @return JSON */  function jsonFormat($data, $indent=null){        // 对数组中每个元素递归进行urlencode操作,保护中文字符      array_walk_recursive($data, 'jsonFormatProtect');        // json encode      $data = json_encode($data);        // 将urlencode的内容进行urldecode      $data = urldecode($data);        // 缩进处理      $ret = '';      $pos = 0;      $length = strlen($data);      $indent = isset($indent)? $indent : '    ';      $newline = "
";      $prevchar = '';      $outofquotes = true;        for($i=0; $i<=$length; $i++){            $char = substr($data, $i, 1);            if($char=='"' && $prevchar!='\'){              $outofquotes = !$outofquotes;          }elseif(($char=='}' || $char==']') && $outofquotes){              $ret .= $newline;              $pos --;              for($j=0; $j<$pos; $j++){                  $ret .= $indent;              }          }            $ret .= $char;                    if(($char==',' || $char=='{' || $char=='[') && $outofquotes){              $ret .= $newline;              if($char=='{' || $char=='['){                  $pos ++;              }                for($j=0; $j<$pos; $j++){                  $ret .= $indent;              }          }            $prevchar = $char;      }        return $ret;  }    /** 将数组元素进行urlencode * @param String $val */  function jsonFormatProtect(&$val){      if($val!==true && $val!==false && $val!==null){          $val = urlencode($val);      }  }    header('content-type:application/json;charset=utf8');  $result = array(	'data' => array(		array(			'article_url' => '/disease/item/1',			'create_time' => '2014-08-11 11:38:58',			'knowledge_id' => 1,			'title' => 'title1'		),		array(			'article_url' => '/disease/item/3',			'create_time' => '2014-08-11 11:38:58',			'knowledge_id' => 1,			'title' => 'title3'		),	),	'errcode' => 0,	'errdesc' => '');echo jsonFormat($result);
登录后复制

如果不需要格式?,可以
echo jsonFormat($result);
改?
echo json_encode($result);
即可。

上面的function都可以不用了。

搞定,谢谢。

如果不需要格式?,可以
echo jsonFormat($result);
改?
echo json_encode($result);
即可。

上面的function都可以不用了。

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号