【原創】json格式編碼操作類
可以使大家加深對字串編碼和json編碼原理的了解
define('is_null', 'null');
define('is_bool', 'boolean');
define('is_int', 'integer');
define('is_double', 'double');
define('is_string', 'string');
define('is_array', 'array');
define('is_object', 'object');
/**
* @author jiang kejun * @name json
* @since 2013.6.3
* @uses 對json的操作
* @version $id: json.php 376 2013.6.3 create jkj $
* @version $id: json.php 385 2013.7.16 edit jkj $
*/class json
/*** 對utf8物件進行json格式編碼
* * @access public
* @param mixed $value
* @return string buf
*/public function encode( $value )
return $this->buf; }
/*** 處理陣列
* * @access private
* @param string &$buf
* @param array $data
*/private function _handle_array( &$buf, array $data ) else
foreach ( $data as $key=>$val )
$this->encode( $val );
if( $pos < $count-1 ) $this->__s( $buf, ',' );
$pos++;
} if( !$iskey ) else ' );
} }/**
* 處理字串
* * @access private
* @param string &$buf
* @param string $s
*/private function _handle_string( &$buf, $s )
$len = $this->utf8_to_utf16( $s );
if( $len <= 0 ) else
return ;
} $this->__s( $buf, $this->quotes );
if( is_numeric( $s ) )
else
$len = 0;
} $pos = 0;
while ( $pos < $len ) else
break;}}
$this->__s( $buf, $this->quotes );
if ( $this->utf16 ) }
function __s( &$buf, $val )
$buf .= $val;
} /**
* 將utf8的unicode 轉化成16進製制的陣列
* * @param string $s
* @return int 陣列的count
*/function utf8_to_utf16( $s )
$pos = 0;
$len = strlen( $s );
for( ;$pos < $len; ) );
if($ascii > 128)
else ;
$pos += 1;
}} return count( $this->utf16 ); }
/*** 將16進製制的陣列轉化成帶utf8字元
* * @param string $out_charset 返回的字符集編碼,用於本地化和測試
* @return null|string str 帶utf8字元
*/function utf16_to_utf8( $out_charset='utf-8' )
$arr = array();
foreach ( $this->utf16 as $utf16 )
else $arr = $tmp;}}
else
} return implode( "", $arr ); }
/*** utf8轉unicode 10進製
* * @param string $c
* @return int $un unicode
*/function _utf8_to_unicode( $c )
return $un; }
/*** 10進製unicode轉utf8
* * @param int $un
* @return string utf8編碼字元
*/function _unicode_to_utf8( $un )
elseif( $un < 0x010000 )
elseif( $un < 0x110000 )
return chr( $c1 ).chr( $c2 ).
chr( $c3 ).chr( $c4 ); }
/*** 是否是utf8編碼字串
* * @param string $str
* @return bool
*/function is_utf8( $str ) }}
return true; }
/*** 對 json 格式的字串進行解碼
* * @access public
* @param string $json
* @param bool $assoc true:返回array; false:返回stdclass
* @return mixed
*/public function decode( $json, $assoc=false )
}
js變數,json格式編碼困惑
json格式編碼困惑 1map 1與 2使用上沒有什麼不一樣。對js來說key都字串。但如果你不想給key有規範的命名,那最好使用引號。例 test test.1 error key test test.1 no access way test 1 right access way test tes...
轉換Json格式幫助類
using system using system.collections.generic using system.text using system.reflection using system.data using system.collections namespace aimscommo...
JSON編碼格式提交表單資料
以json編碼格式提交表單資料是html5對web發展進化的又一大貢獻,以前我們的html表單資料是通過key value方式傳輸的伺服器端,這種形式的傳輸對資料組織缺乏管理,形式十分原始。而新出現的json格式提交表單資料方法,將表單裡的所有資料轉化的具有一定規範的json格式,然後傳輸的伺服器端...