有什么方法可以在JSON文件的开头插入节点?

时间:2018-10-22 17:01:21

标签: json ruby file insert append

有什么方法可以在JSON文件的开头插入节点?

jsonArray = JSON.parse(File.open(JSON_filePath).read)
jsonArray << node_to_insert

File.open(JSON_FilePath,"w") do |f|
   f.write(JSON.pretty_generate(jsonArray))
end

脚本会插入ok,但是在文件的结尾,我想像在JSON文件中的第一条记录一样在开头插入。

2 个答案:

答案 0 :(得分:0)

要添加要插入的节点而不是最后插入的节点,为什么不翻转前两行的顺序(稍作改动)?

jsonArray = [node_to_insert] # initialize to array with your first row
jsonArray.push( *JSON.parse(File.open(JSON_filePath).read) ) # push results,
               # use the splat operator (*) to avoid array nesting

答案 1 :(得分:0)

使用Array#prepend代替<<。这将插入/前置而不是附加。

jsonArray = JSON.parse(File.open(JSON_filePath).read)
jsonArray.prepend(node_to_insert)