zoukankan      html  css  js  c++  java
  • PHP 讓 json_encode() 指定回傳格式

    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
  • 相关阅读:
    分支(选择)语句练习——7月22日
    语句:分支语句、switch case ——7月22日
    C#语言基础——7月21日
    进制转换——7月20日
    运行Tomcat报错 解决方法
    Mybatis面试题
    java面试题02
    当你没有能力去改变别人命运的时候 就不要随意去伸出援手......
    快速学习MD5的方法
    java面试题01
  • 原文地址:https://www.cnblogs.com/moqiang02/p/4061403.html
Copyright © 2011-2022 走看看