关闭

PHP JSON

标签: PHP JSON
261人阅读 评论(0) 收藏 举报
分类:

PHP JSON

本章节我们将为大家介绍如何使用 PHP 语言来编码和解码 JSON 对象。


环境配置

在 php5.2.0 及以上版本已经内置 JSON 扩展。


JSON 函数

函数 描述
json_encode 对变量进行 JSON 编码
json_decode 对 JSON 格式的字符串进行解码,转换为 PHP 变量
json_last_error 返回最后发生的错误

json_encode

PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。

语法

string json_encode ( $value [, $options = 0 ] )

参数

  • value: 要编码的值。该函数只对 UTF-8 编码的数据有效。
  • options:由以下常量组成的二进制掩码:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT

实例

以下实例演示了如何将 PHP 数组转换为 JSON 格式数据:

<?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}

以下实例演示了如何将 PHP 对象转换为 JSON 格式数据:

<?php
   class Emp {
       public $name = "";
       public $hobbies  = "";
       public $birthdate = "";
   }
   $e = new Emp();
   $e->name = "sachin";
   $e->hobbies  = "sports";
   $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p");
   $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03"));

   echo json_encode($e);
?>

以上代码执行结果为:

{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}

json_decode

PHP json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。

语法

mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

参数

  • json_string: 待解码的 JSON 字符串,必须是 UTF-8 编码数据

  • assoc: 当该参数为 TRUE 时,将返回数组,FALSE 时返回对象。

  • depth: 整数类型的参数,它指定递归深度

  • options: 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING 。

实例

以下实例演示了如何解码 JSON 数据:

<?php
   $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

   var_dump(json_decode($json));
   var_dump(json_decode($json, true));
?>

以上代码执行结果为:

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

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

php与html简单的json交互示例

前端(HTML)代码<!DOCTYPE html> <html> <head> <title>前台处理json简单示例</title> <meta charset="utf-8"/> ...
  • wuya814070935
  • wuya814070935
  • 2015-08-14 15:03
  • 2122

PHP生成及获取JSON文件的方法

首先定义一个数组,然后遍历数据表,把相应的数据放到数组中,最后通过json_encode()转化数组 json_encode() 函数的功能是将数值转换成 JSON 数据存储格式。 putjson.php: <?php // 生成一个PHP数组 $data = arr...
  • qq_15936309
  • qq_15936309
  • 2016-09-18 11:20
  • 1077

php读写json文件

<?php // 生成一个PHP数组 $data = array ( 0 => array ( "a" => "orange", "b" => "banana", "c" =...
  • dusea
  • dusea
  • 2015-09-15 09:31
  • 8582

PHP抓取Json页面并写入文件

in.txt 10 北京 天坛 故宫 天安门 颐和园 圆明园 明十三陵 鼓楼 恭王府 海洋馆 香山公园   getJson.php <?php $file1 = fopen("in.txt", "r"); while(!feof...
  • X_White
  • X_White
  • 2013-08-16 21:56
  • 3319

PHP--- JSON和数组的转换

一、json_encode() 1 2 3 4 $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_enc...
  • u012887301
  • u012887301
  • 2016-10-24 15:45
  • 14006

使用 PHP 获取并解析 JSON 显示在页面中

很久没写过 PHP 的文章了,也很久没有用 PHP 了,差点忘了怎么做了。JSON 是现在比较流行的数据交流方式,比 XML 都流行,一般用作 api 接口进行数据获取、交流。 就文章的标题来说,本文介绍两个小要点:PHP 获取内容、PHP 解析 JSON 并显示。 PHP 获取接口内容 你如...
  • bfboys
  • bfboys
  • 2016-10-31 17:26
  • 5068

php 读写json文件。追加,修改json

// 追加写入用户名下文件 $code="001";//动态数据 $json_string = file_get_contents("text.json");// 从文件中读取数据到PHP变量 $data = json_deco...
  • javaTempest
  • javaTempest
  • 2017-08-19 16:38
  • 1660

PHP: 判断是否是JSON数据

首先要记住json_encode返回的是字符串, 而json_decode返回的是对象. 判断数据不是JSON格式: function is_not_json($str){ return is_null(json_decode($str)); } 判断数据是合法的json数据: ...
  • wkydj
  • wkydj
  • 2017-09-09 22:28
  • 356

phpjson多层遍历

phpjson多层遍历
  • jacke121
  • jacke121
  • 2017-02-16 23:29
  • 838

PHP json url 编码

对象的json编码,解码。字符串的url编码,解码
  • dreamstar613
  • dreamstar613
  • 2017-04-26 10:23
  • 522
    个人资料
    • 访问:359319次
    • 积分:5309
    • 等级:
    • 排名:第6092名
    • 原创:198篇
    • 转载:320篇
    • 译文:0篇
    • 评论:30条
    文章分类