代码如下 复制代码
function array_to_json($array) {
if (! is_array ( $array )) {
return false;
}
$associative = count ( array_diff ( array_keys ( $array ), array_keys ( array_keys ( $array ) ) ) );
if ($associative) {
$construct = array ();
foreach ( $array as $key => $value ) {
// we first copy each key/value pair into a staging array,
// formatting each key and value properly as we go.
// format the key:
if (is_numeric ( $key )) {
$key = key_$key;
}
$key = . addslashes ( $key ) . ;
// format the value:
if (is_array ( $value )) {
$value = array_to_json ( $value );
} else if (! is_numeric ( $value ) || is_string ( $value )) {
$value = . addslashes ( $value ) . ;
}
// add to staging array:
$construct [] = $key: $value;
}
// then we collapse the staging array into the json form:
$result = { . implode ( ,, $construct ) . };
} else { // if the array is a vector (not associative):
$construct = array ();
foreach ( $array as $value ) {
// format the value:
if (is_array ( $value )) {
$value = array_to_json ( $value );
} else if (! is_numeric ( $value ) || is_string ( $value )) {
$value = . addslashes ( $value ) . ;
}
// add to staging array:
$construct [] = $value;
}
// then we collapse the staging array into the json form:
$result = [ . implode ( , , $construct ) . ];
}
return $result;
}
你可以试试这个 然后json_encode换成上面的函数看看正常了吗
代码如下 复制代码
if($_get['enews']=='ok'){
echo json_encode(array('a'=>'王进'));exit;
}
?>
关于php中json_encode
json_encode()将php的不同类型的变量转换为对应的json字符串 string json_encode(mixed $value [, int
$options = 0])
php 5.3.0
json_hex_quot: 将所有的双引号(”)转换为u0022。
// 实例代码:
代码如下 复制代码
$data = '';
echo json_encode($data); //
echo json_encode($data, json_hex_quot);
// u0022■json_hex_tag: 将所有的大于号(>)转换为u003e,将
所有的小于号(json_hex_amp: 将所有的与号(&)转换为 u0026。
json_hex_apos: 将所有的单引号(’)转换为u0027。
json_force_object: 当value为非关联数组时强制输出结果为json对象。在接收者要求数据为对象且value为空数组时
使用。
// 实例代码:
代码如下 复制代码
$data = array();
echo json_encode($data); // []
echo json_encode($data, json_force_object); // {}
php 5.3.3
json_numeric_check: encodes numeric strings as numbers.
php 5.4.0
json_bigint_as_string: encodes large integers as their original string value. available since php
5.4.0.
json_pretty_print: use whitespace in returned data to format it. available since php 5.4.0.
json_unescaped_slashes: don’t escape /. available since php 5.4.0.
json_unescaped_unicode: encode multibyte unicode characters literally (default is to escape as uxxxx).
available since php 5.4.0.
http://www.bkjia.com/phpjc/445290.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/445290.htmltecharticle数据转换js格式的数据是我们常用一种数据传递的方法,特别像ajax中会时常用到把数据转换成json然后再转换回来,下面看一个实例。 代码如...