对于这个 json 结构:
{
"a_path": {
"b_path": [
{
"id": 1,
"name": "a"
},
{
"id": 2,
"name": "b"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
想要删除id元素:
{
"a_path": {
"b_path": [
{
"name": "a"
},
{
"name": "b"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
有什么好的办法吗?我努力了:
$json_data = JSON.parse(response)["b_path"][0].delete("id")
Run Code Online (Sandbox Code Playgroud)
但得到这个结果:
"a_path": "1"
Run Code Online (Sandbox Code Playgroud)
即使.delete会返回变异的哈希值(它不会返回已删除的值),您也会分配$json_data = JSON.parse(response)["b_path"][0].
只需分配基本哈希值,然后在循环中对其进行变异即可.each。
json_data = JSON.parse(response)
json_data['a_path']['b_path'].each { |h| h.delete('id') }
json_data
# => the expected hash
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2729 次 |
| 最近记录: |