Есть ли способ вставить узел в начале файла JSON? - PullRequest
0 голосов
/ 22 октября 2018

есть ли способ вставить узел в начале файла 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

Сценарий вставляется нормально, но в конце файла я хотел бы вставить в начале, какпервая запись в файле JSON.

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Вместо << используйте Array # prepend .Это добавит / добавит вместо добавления.

jsonArray = JSON.parse(File.open(JSON_filePath).read)
jsonArray.prepend(node_to_insert)
0 голосов
/ 22 октября 2018

Чтобы добавить свой узел для вставки первого вместо последнего, почему бы не изменить порядок первых двух строк (с незначительными изменениями)?

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
...