stdClass Object
(
[INFO] => stdClass Object
(
[A] => 1
[B] => 2
[C] => 3
[D] => stdClass Object
(
[AA] => 11
[BB] => 22
[CC] => 33
[CC] => 44
)
)
)
版主有好的思路么
(
[INFO] => stdClass Object
(
[A] => 1
[B] => 2
[C] => 3
[D] => stdClass Object
(
[AA] => 11
[BB] => 22
[CC] => 33
[CC] => 44
)
)
)
版主有好的思路么
解决方案 »
- 在php中用函数调用外部命令编译c++
- 谁能指点一下,我是一个php新手,想取出日期的中的天(日)
- 在CSS里,想用变量控制设定的颜色,如果嵌套PHP?
- echo 问题
- 喜获第一名,散分,呵呵.
- 关于mysql_fetch_object和while的配合使用
- 为何我做的文件下载弹出来的保存框全是没有后缀名的.
- 使用nusoap生成webservice时,产生的wsdl的xml编码是iso-8859-1
- 翻译了一篇PHP5的文章,希望对大家有所帮助!
- 请教一个问题
- Call to undefined function curl_init()
- 【正则】如何写判断提交的用户名中不包含如下特殊字符?求方法
$o = json_decode($s); //模拟一个对象$t = serialize($o);
$t = preg_replace_callback('/("[A-Z]+")(;.+?;)/', function($r) { return strtolower($r[1]) . $r[2]; }, $t);
$o = unserialize($t);print_r($o);stdClass Object
(
[a] => 1
[b] => 2
[c] => 3
[d] => stdClass Object
(
[aa] => 11
[bb] => 22
[cc] => 33
)
)
如果真是 json 则可写作$s = '{"A":1,"B":2,"C":3,"D":{"AA":11,"BB":22,"CC":33}}';
$s = preg_replace_callback('/"[A-Z]+":/', function($r) { return strtolower($r[0]); }, $s);
print_r(json_decode($s));
stdClass Object
(
[a] => 1
[b] => 2
[c] => 3
[d] => stdClass Object
(
[aa] => 11
[bb] => 22
[cc] => 33
))
2.使用preg_replace_callback 调用 strtolower把 "*": 转为小写,相当于把遍历改成正则替换。
3.json_decode 把字符串转为对象。
<?php
$s = '{"A":1,"B":2,"C":3,"D":{"AA":11,"BB":22,"CC":33}}';
$obj = json_decode($s);print_r($obj);$str = json_encode($obj);
$str = preg_replace_callback('/"(.*?)":/', 'tolower', $str);
$obj = json_decode($str);print_r($obj);function tolower($matches){
return '"'.strtolower($matches[1]).'":';
}
?>