Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
5 / 5
Json
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
3 / 3
3
100.00% covered (success)
100.00%
5 / 5
 encode
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 encodePretty
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
 decode
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
<?php
namespace Puyo\Util;
/**
 * JSON関連
 * オプションを統一するため
 * @author y.kushida
 * @version 1.1.0
 * @uses >= php-5.4
 * @uses ext-json
 */
class Json
{
    /**
     * プロダクトコードではこれを使用すること
     * @param array $arrData
     * @return string
     */
    public static function encode($arrData) {
        return json_encode($arrData, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT);
    }
    /**
     * 見やすいが、セキュリティ上はよくないのでデバッグ用。
     * @param $arrData
     * @return string
     */
    public static function encodePretty($arrData) {
        $opt = JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT;
        return json_encode($arrData, $opt);
    }
    /**
     * @param string $strJson
     * @param bool $assoc  (optional)
     * @param int $depth   (optional)
     * @param int $options (optional)
     * @return mixed|null 失敗時null
     */
    public static function decode($strJson, $assoc=true, $depth=512, $options=0) {
        $options |= JSON_BIGINT_AS_STRING;
        return json_decode($strJson, $assoc, $depth, $options);
    }
}