php对象转json字符串时如何排序

我的 php 里有个对象 obj 是由 json 字符串 {"1":1,"3":2} 通过 json_decode() 得来,然后经过运算会新增属性 obj->"2" = 3,这时又需要将这个对象转成字 json 符串返回,直接 json_encode() 就成了 {"1":1,"3":2,"2":3} 了,怎么才能让这个 json 字符按照对象属的性名排列?像这样:{"1":1."2":3,"3":2}。求大佬指点,感激不尽!
最新回答
山城夏秋

2024-11-30 02:32:38

建议把json字符串转为关联数组再来处理和排序:

$str='{"1":1,"3":2}';

$arr=json_decode($str,true);

$arr["2"]=3;

ksort($arr,1);

$str=json_encode($arr);

print_r($str);

如果一定要按对象来处理,就这样:

$str='{"1":1,"3":2}';

$obj=json_decode($str);

$k="2";

$obj->$k=3;

$arr=json_decode(json_encode($obj),true);

ksort($arr,1);

$str=json_encode($arr);

print_r($str);

我是女神哦买噶

2024-11-30 04:22:56

存78回(1-80回,内缺64、67两回)。此本有与己卯本相同的双行小字批。1933年徐星署花八块大洋购于隆福寺,后燕京大学图书馆以二两黄金辗转购得,现藏北京大学图书馆。3.郑藏本
爲妳ヤ葑惢

2024-11-30 06:42:48

方式是多少?
追问
呃……不明白什么方式?