0

图像模型包含 id、file_name 和描述。宝石:RABL 或 GRAPE

通常的输出是:

{
    "images": [
        {
            "id": 48660,
            "file_name": "9e0f6.jpg",
            "description": "View 1"
        },
        {
            "id": 48665,
            "file_name": "fd42f.jpg",
            "description": "View 2"
        },
        {
            "id": 48662,
            "file_name": "477e8.jpg",
            "description": "View 3"
        }
    ]
}

如何删除属性/键并将值转换为数组,如下所示?

{
    "images":[
        [
            48660,
            "9e0f6.jpg",
            "View 1"
        ],
        [
            48665,
            "fd42f.jpg",
            "View 2"
        ],
        [
            48662,
            "477e8.jpg",
            "View 3"
        ]
    ]
}
4

1 回答 1

0

您可以使用将其转换为哈希

JSON.parse(json)

并在没有密钥的情况下重建 json

json_hash = JSON.parse(json)

inner_array = []
json_hash["images"].each do |elem|
  inner_array << elem.collect{|key, value| value unless ["file_name"].include?(key)}
end

json_hash["images"] = inner_array
json_hash.to_json
于 2013-06-11T15:35:30.817 回答