首页 > 作文

PHP 实现 JSON 数据的编码和解码操作详解

更新时间:2023-04-08 14:17:41 阅读: 评论:0

本文实例讲述了php 实现 json 数据的编码和解码操作。分享给大家供大家参考,具体如下:

json 的使用场景:

数据表一个字段需要记录多个信息,如记录关于用户的其他信息数据传输,如:api接口返回值、ajax中实现异步加载配置文件,如 compor.json 包管理配置文件

在 php 中使用 json:

json 使用最频繁的两个操作就是编码和解析数据,php 官方提供了以下 2 个函数实现这两个操作:

encoding and decoding

编码用于将数据绑定到特定格式。需要此过程来保持数据一致性。解码是一个反向过程,它将编码的数据还原回其原始形式。

php json encode

使用 json_encode 将 php 的一些数据类型转换为 json 格式,函数包含 3 个参数,分别为:

将要编码的数据带有 json encode 常量的选项可以反映对编码行为的影响编码的深度限制

php 中预定义的 json 常量

json_qq情侣头force_object
json_hex_quot
json_hex_tag
json_hex_amp
json_hex_apos
json_invalid_utf8_ignore
json_invalid_utf8_substitute
json_numeric_check
json_partial_output_on_error
json_prerve_zero_fraction
json_pretty_print
json_unescaped_line_terminators
json_unescaped_slashes
json_unescaped_unicode
json_throw_on_error

example: php json_encode()

<?php$input_array = array("zero","one","two");//returns ["zero","one","two"] $str_json_format = json_encode($input_array);print "json formatted string:" . $str_json_format;//returns {"0":"zero","1":"one","2":"two"}$obj_json_format = jso开国十大元帅排名n_encode($input_array, json_force_object);print "<br/><br/>json object:" . $obj_json_format;/人口普查的意义和作用/returns [ "zero", "one", "two" ]$strjsonformat_with_space = json_encode($input_array, json_pretty_print);print "<br/><br/>json formatted string with white space:" . $strjsonformat_with_space;

php json decode

这是 json encode 的反向操作,用于将 json 编码的数据转换为最初编码的 php数据类型。

json_decode 函数包含 4 个参数,分别为:

将要解析的 json 字符串当该参数为 true 时,将返回 而非 指定递归深度json 常量
深圳市职业技术学院json_bigint_as_string, json_invalid_utf8_ignore, json_invalid_utf8_substitute, json_object_as_array, json_throw_on_error

返回值:

返回值为 true, falnull
如果 json 无法被解码, 或者编码数据深度超过了递归限制的话,将会返回null

example: php json_encode()

<?php$str_json_array_decoded = json_decode($str_json_format);print "<br/><br/>resultant decoded array from json array:<br/>";print "<pre>";print_r($str_天净沙秋思翻译json_array_decoded);print "</pre>";$str_objjson_decoded = json_decode($obj_json_format);print "<br/><br/>resultant decoded object data from json object:<br/>";print "<pre>";print_r($str_objjson_decoded);print "</pre>";$str_jsonary_decoded = json_decode($obj_json_format,true);print "<br/><br/>resultant decoded array data from json object:<br/>";print "<pre>";print_r($str_jsonary_decoded);print "</pre>";

注意:

php 可以将任意数据类型转换为 json 格式,除了 resource datajson 解码时,必须先去除掉字符串中的反斜杠 “\”,不然会导致解析失败,可以使用 stripslashes 对字符串进行处理后,再使用 json_decode 解析

如果需要解码的 json 数据中包含有反斜杠 “\”,应该使用如下代码进行解码:

$obj = \json_decode(stripslashes($json));

ps:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线json代码检验、检验、美化、格式化工具:

json在线格式化工具:

在线xml/json互相转换工具:

json代码在线格式化/美化/压缩/编辑/转换工具:

c语言风格/html/css/json代码格式化美化工具:

本文发布于:2023-04-08 14:17:39,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/979e7b0cae24761bf3e601c8ab391d16.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP 实现 JSON 数据的编码和解码操作详解.doc

本文 PDF 下载地址:PHP 实现 JSON 数据的编码和解码操作详解.pdf

标签:在线   数据   递归   常量
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图