PHP 回傳 JSON 很方便, 只要將資料經過 json_encode() 就解決了.
不過因為 PHP 自動轉換型別, 造成很多資料都習慣存成字串, 希望在輸出 JSON 的時候, 數字部份可以輸出成數字, 該怎麼做呢?
另一個問題, PHP 轉換成 JSON, 部份陣列會被轉成对象(因為 JavaScript 陣列的 Key 必須是數字, 所以會轉成对象), 要全部強制轉成对象, 該怎麼做呢?
PHP 讓 json_encode() 指定回傳格式
上述的問題, json_encode() 的參數都可以解決.
json_encode()有這些參數可以用:
-
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 數字型態
主要靠 json_encode 的 JSON_NUMERIC_CHECK 參數, ex:
<?php
echojson_encode(array('id'=>'123', 'data' =>'abc'), JSON_NUMERIC_CHECK);
echojson_encode(array('id'=>'123', 'data' =>'abc'));
echojson_encode(array('id'=>123, 'data' =>'abc'));
?>
輸出結果
-
{"id":123,"data":"abc"}
-
{"id":"123","data":"abc"}
-
{"id":123,"data":"abc"}
PHP 強迫輸出 JSON 物件(对象)格式
主要靠 json_encode 的 JSON_FORCE_OBJECT 參數, ex:
<?php
echojson_encode(array(1,2, 3));
echojson_encode(array(1,2, 3), JSON_FORCE_OBJECT);
echojson_encode(array(array(1,2, 3)));
echojson_encode(array(array(1,2, 3)), JSON_FORCE_OBJECT);
echojson_encode(array(1=>123, 2 =>'abc'));
?>
輸出結果
-
[1,2,3]
-
{"0":1,"1":2,"2":3}
-
[[1,2,3]]
-
{"0":{"0":1,"1":2,"2":3}}
-
{"1":123,"2":"abc"} // 本來就會輸出 Object
分享到:
相关推荐
NULL 博文链接:https://onestopweb.iteye.com/blog/2380018
PHP JSON_ENCODE 不转义中文汉字的方法.rar
一、json_encode() 对变量进行JSON编码 语法:json_encode($value[,$options=0]) 注意: 1、$value为要编码的值,且该函数只对UTF8编码的数据有效; 2、options:由以下常量组成的二进制掩码:JSON_HEX_QUOT, ...
主要介绍了java解析php函数json_encode unicode 编码问题,需要的朋友可以参考下
NULL 博文链接:https://soundhorizon.iteye.com/blog/1312194
像PHP中的json_encode() JSON.stringify()一样执行JSON.stringify() 。 安装 npm i json_encode --save 用法 var json_encode = require ( 'json_encode' ) ; var encoded = json_encode ( { something : 'нов...
PHP json_encode与json_decode.rar
主要给大家分享了PHP中如何让json_encode不自动转义斜杠“/”的两种方法,文中给出了详细的示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
php中json_decode()和json_encode()的使用方法.docx
PHP 上的函数 json_encode() 和 json_decode() 函数 json_encode() 和 json_decode() 在 PHP 上的实现。 见和系统要求 * PHP* mbstring extension* Charset UTF-8使用 php-json 如果您有错误“调用未定义的函数 json...
在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。 这个函数的功能是将数值转换成json数据存储格式。 <?php $arr = array ( 'Name'=>'希亚', 'Age...
下面的PHP代码可以解决以下问题:1.json_encode UTF8码中文后的字符串不可阅读2.json_encode 多级数组中文乱码问题3.json_encode 数组中包含换行时错误问题4.json_encode 数组中键为中文的问题复制代码 代码如下:...
json for PHP4.0 - 在 PHP 4.0 下使用 json 的示例,构造 PHP4.0 下的 json_encode 函数。包含一个 Json 类。代码兼容 PHP5.0。
主要介绍了php json_encode与json_decode详解及实例的相关资料,需要的朋友可以参考下
json_decode 索引为数字时自动排序问题解决方法.docx
本文主要介绍针对PHP5.4以下版本的json_encode不兼容JSON_UNESCAPED_UNICODE的处理,需要的朋友可以参考下。
json_encode_cn2使用正则替换,且依赖iconv函数,如果iconv存在bug相信也会有bug。json_decode_cn3使用曲线救国方式,自行urlencode生成的代码在各类语言中也非常容易urldecode。##json_decode_fixPHP的json_encode...