假设我有以下json文件:
{
"infos": {
"name": "Logo changed."
},
"datas": [
{...}
]
}
我想更改name
。
所以,我试过这个:
$to_replace = 'New logo change.'
$datas['infos']['name'][0] = $to_replace;
但在那之后我的json看起来很糟糕:
{
"infos": {
"0": {
"name": "New logo change."
},
"name": "Logo changed."
},
"datas": [
{...}
]
}
为什么它不起作用?
感谢。
答案 0 :(得分:0)
删除[0]
,您不需要它:
$datas['infos']['name'] = $to_replace;
PHP实际上认为你在"0"
项目中有name
,所以在那里添加了一个。{
答案 1 :(得分:0)
替换
$to_replace = 'New logo change.'
$datas['infos']['name'][0] = $to_replace;
使用
$to_replace = 'New logo change.'
$datas['infos']['name'] = $to_replace;
答案 2 :(得分:0)
您可以尝试使用此代码(不使用[0]
)
$to_replace = 'New logo change.'
$datas['infos']['name'] = $to_replace;
在PHP中,对于JSON对象,如果使用数字,它将使用作为新密钥,而不是用于"第一个元素"