本文目录一览:
- php转换成json数据格式
- PHP是怎么返回json格式的数据
- php+mysql数据库取数据转成json格式
- php怎么将数组数组转化为json格式的数据
- 怎么将php 数组转换成json
- 用php如何将数据(文本和图片)转换成json格式
php转换成json数据格式
其实就是把这3个结果并成一个数组,再转就是了。例如:
$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遇到问题不要气馁呀!
PHP是怎么返回json格式的数据
- PHP 输出 JSON 格式,使用
json_encode
函数即可。 - 示例:
<?php
header('Content-type: text/json');
$fruits = array(
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
echo json_encode($fruits);
?>
示例得到结果:
{"fruits":{"a":"orange","b":"banana","c":"apple"},"numbers":[1,2,3,4,5,6],"holes":["first","second","third"]}
php+mysql数据库取数据转成json格式
PHP 取 MySQL 数据并转换为 JSON 格式,这很简单。 过程分为三步:
- 取数据(连接与查询);
- 保存为数组;
- JSON 格式输出。
取数据参考下面文章。
保存为数组也容易,使用
array_push
即可。 JSON 格式的输出最为便捷,只需:
echo json_encode($myArr);
输出的就是你要的 JSON 格式,就像你图中的那样。 参考文章:
php怎么将数组数组转化为json格式的数据
一、json_encode()
示例 1:索引数组
<?php
$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}
示例 2:对象转换
<?php
$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 编码的时候,这一点要特别注意。
二、索引数组和关联数组
PHP 支持两种数组:
- 索引数组(indexed array):只保存"值";
- 关联数组(associative array):保存"名值对"。
由于 JavaScript 不支持关联数组,所以
json_encode()
只将索引数组转为数组格式,而将关联数组转为对象格式。 示例 1:索引数组
<?php
$arr = Array('one', 'two', 'three');
echo json_encode($arr);
?>
输出:
["one","two","three"]
示例 2:关联数组
<?php
$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);
三、类(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 转换:
<?php
$foo = new Foo;
$foo_json = json_encode($foo);
echo $foo_json;
?>
输出结果是:
{"public_ex":"this is public"}
可以看到,除了公开变量(public),其他东西(常量、私有变量、方法等等)都遗失了。
四、json_decode()
该函数用于将 JSON 文本转换为相应的 PHP 数据结构。 示例:
<?php
$json = '{"foo": 12345}';
$obj = json_decode($json);
print $obj->{'foo'}; // 12345
通常情况下,json_decode()
总是返回一个 PHP 对象,而不是数组。
如果想要强制生成 PHP 关联数组,json_decode()
需要加一个参数 true
:
<?php
$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)
}
五、json_decode()的常见错误
下面三种 JSON 写法都是错的:
$bad_json = "{ 'bar': 'baz' }"; // 错误:不能使用单引号
$bad_json = '{ bar: "baz" }'; // 错误:"名"必须使用双引号
$bad_json = '{ "bar": "baz", }'; // 错误:最后一个值之后不能添加逗号
对这三个字符串执行 json_decode()
都将返回 null
,并且报错。
另外,JSON 只能用来表示对象(object)和数组(array),如果对一个字符串或数值使用 json_decode()
,将会返回 null
。
<?php
var_dump(json_decode("Hello World")); // null
?>
怎么将php 数组转换成json
<?php
/** PHP把数组转换为JSON字符串 **/
$arr = [10, 'Tom', true, '2015-10-15'];
echo json_encode($arr); // 编码为JSON字符串
$arr = ['eid' => 10, 'ename' => 'Tom', 'isMarried' => true, 'birthday' => '2015-10-15'];
echo json_encode($arr); // 编码为JSON字符串
// 结论:索引数组会被json_encode转换为JSON数组,关联数组会被json_encode转换为JSON对象
?>
结果如下:
[10,"Tom",true,"2015-10-15"]
{"eid":10,"ename":"Tom","isMarried":true,"birthday":"2015-10-15"}
用php如何将数据(文本和图片)转换成json格式
前台:
<form action="跳转页面" method="post" enctype="multipart/form-data">
<input type="file" name="fname" />
<input type="submit" value="Submit" />
</form>
<input type="file">
表示:需要上传的文本或者图片。
后台:
<?php
echo json_encode($_POST); // 输出JSON字符串
?>
输出的内容是上传到服务器的文件路径等相关信息。