您的位置:

php使用json,php使用json输出一个表格

本文目录一览:

如何正确运用PHP json_encode函数进行中文转换?

在 php 中使用 json_encode() 内置函数(php 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能是将数值转换成json数据存储格式,但是转换后的中文会变成Unicode编码。\x0d\x0a[php] view plaincopyprint?\x0d\x0a

如何正确运用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数据操作

JSON,全称是JavaScript

Object

Notation。它是基于JavaScript编程语言ECMA-262

3rd

Edition-December

1999标准的一种轻量级的数据交换格式,主要用于跟服务器进行交换数据。跟XML相类似,它独立语言,在跨平台数据传输上有很大的优势

新建文件json.php,先做encode操作:

//encode

//生成JSON格式数据

$arr

=

array(1,2,3,4,5,6,7,8,9,'Hello','PHP');

echo

json_encode($arr);//json_encode:把一个对象转换成json格式数据

得到的结果是[1,2,3,4,5,6,7,8,9,"Hello","PHP"]

再来做decode操作:

//decode

解码

$jsonStr

=

'{"h":"Hello","w":"World","0":[3,2,1]}';

$obj

=

json_decode($jsonStr);

echo

$obj-h;//使用成员访问的方式就可以得到结果

知道简单的使用方法后,可以尝试着抓API数据,比如天气...

以上所述就是本文的全部内容了,希望大家能够喜欢。

php使用json,php使用json输出一个表格

2023-01-03
php转json格式,php输出json格式

本文目录一览: 1、PHP是怎么返回json格式的数据 2、php转换成json数据格式 3、PHP怎么把多个数组揉成一个json字符串? PHP是怎么返回json格式的数据 1、php 输出JSON

2023-12-08
使用php在json中搜索值,php输出json对象

本文目录一览: 1、php怎样获取以下json的值 2、请教php大神,如何提取一个json数据里的某值? 3、php 获取json中的值 4、php 如何将获取json中的参数的值 5、php如何获

2023-12-08
php接收json與json,php输出json格式

2022-11-24
如何用php转json数据,php怎么输出json

2022-11-23
php输出json类,php写json接口

本文目录一览: 1、php怎么输出json数组? 2、php可以JSON输出json格式吗 3、json文本文档里的数据用php怎么输出 4、PHP 输出json 5、php 输出json及显示jso

2023-12-08
php返回的json格式,php json格式

2022-12-01
使用PHP返回JSON数据

一、php返回json格式 在Web开发中,JSON是一种广泛使用的数据格式,其简洁性和可读性都非常高,能够被众多编程语言所支持。PHP也无疑是其中之一,在PHP中可以轻松地将数组转换为JSON格式的

2023-12-08
使用php的json(PHP用于)

2022-11-16
php创建json对象,php输出json对象

2022-11-28
php对比json结果,php解析json输出html

2022-12-02
使用json_encode轻松将PHP数组转换为Json格式

2023-05-11
php遍历输出json(php遍历输出数组)

本文目录一览: 1、PHP如何循环json? 2、php 循环遍历json数据 3、php遍历目录下的全部文件 生成图片显示那样的json 不知道怎么实现了 4、PHP怎么解析这段json代码,并且要

2023-12-08
在php中处理json请求(php 接收json)

2022-11-13
json怎么在php里面变成表格(json转php数组)

本文目录一览: 1、json格式怎么转换为excel格式 2、怎么把json变成表格输出在前端 3、PHP怎么生成JSON列表啊? 4、php使用json_encode将数据库里的整张表转成json格

2023-12-08
php中json使用全面解析,php获取json数据

本文目录一览: 1、PHP解析JSON 2、如何在PHP中解析json 3、php获得api返回的json数据后,如何解析? 4、PHP JSON格式数据交互实例代码详解 5、php解析json数据

2023-12-08
php数组使用json,php的数组函数

2022-12-02
php中如何正确使用json,PHP怎么使用

2023-01-07
php返回json格式数据(php获取接口的json数据)

2022-11-09
json转php格式(jsonphp)

2022-11-14