我的json索引卸妆有问题,到目前为止我试过这个
$cars = json_decode($json_user , true);
foreach ($cars as $key => $value) {
if (in_array('BH', $value)) {
unset($cars[$key]);
}
}
echo $cars = json_encode($cars);
使用JSON内容
[{"code":"AB"},{"code":"BC"},{"code":"CD"}]
当使用上面的脚本删除包含BC的索引时,它会返回此
{"0":{"code":"AB"},"2":{"code":"CD"}}
而不是
[{"code":"AB"},{"code":"CD"}]
答案 0 :(得分:2)
JSON格式基于JavaScript语法,JavaScript数组不能包含稀疏键。尝试删除当前键并重新索引数组:
echo $cars = json_encode(array_values($cars));
答案 1 :(得分:1)
它按预期工作。 PHP数组是关联映射。删除密钥不会影响阵列的其他密钥。
在将其编码为JSON之前,使用array_values()
重新编制索引import shutil
import requests
url = 'http://example.com/img.png'
response = requests.get(url, stream=True)
with open('img.png', 'wb') as out_file:
shutil.copyfileobj(response.raw, out_file)
del response
。