使用Ruby将数据附加到JSON文件中

安舒尔

我正在尝试使用ruby在JSON文件中写入/附加一些数据。在以正确格式在JSON文件中写入数据时,我遇到了问题。我已经将值创建并存储在temphash中。我想在现有JSON文件中附加temphash的内容。我正在通过以下方式做到这一点:

 tempHash = {"Group_Name" => @GroupName, "Group_Logo_Code" => @GroupLogoCode }

 json = File.read('public/group.json')
 secondJsonArray = JSON.parse(json)
 secondJsonHash = Hash[*secondJsonArray]

 jsonHash = []  
 jsonHash << secondJsonHash
 jsonHash << tempHash      

 File.open("public/group.json","w") do |f|
  f.puts JSON.pretty_generate(jsonHash)
 end 

这将创建格式错误的JSON。我没有得到预期格式的JSON

以下是我的期望:

[ 
 {
  "Group_Name": "Group Name",
  "Group_Logo_Code": "Group Logo code"
 },
 {
  "Group_Name": "Group Name",
  "Group_Logo_Code": "Group Logo code"
 },
 {
  "Group_Name": "Group Name",
  "Group_Logo_Code": "Group Logo code"
 },
]    

以下是我得到的:

[
  {
    "{\"{\\\"Group_Name\\\"=>\\\"Group Name\\\", \\\"Group_Logo_Code\\\"=>\\\"Group Logo code\\\"}\"=>{\"Group_Name\"=>\"Group Name\", \"Group_Logo_Code\"=>\"Group Logo code\"}}": {
  "Group_Name": "Group Name",
  "Group_Logo_Code": "Group Logo code"
    }
   },
  {
    "Group_Name": "Group Name",
    "Group_Logo_Code": "Group Logo code"
  }
]

请让我知道是否有更好的方法可以做到这一点。谁能帮我解决这个问题。提前致谢。

最后的

Uri Agassi的代码很完美,但是我想解释一下OP代码中出了什么问题。

所述Hash[]期望的阵列key, value(或者作为单独的参数或数组的数组)对:

Hash[:a, 1, :b, 2]        # => {:a=>1, :b=>2}
Hash[[[:a,1], [:b,2]]]    # => {:a=>1, :b=>2}

但是原始的JSON包含哈希数组,就像简化的情况一样,该数组被解析为相应的Ruby对象:

[{:a => 1}, {:b => 2}]

*上述数组上使用Ruby splat运算符时:

Hash[ *[{:a => 1}, {:b => 2}] ]

您可以有效地将单独的哈希作为键值对提供给Hash构造函数:

Hash[ {:a => 1}, {:b => 2} ]  # => {{:a=>1} => {:b=>2}}

因此,从本质上讲,您所需要的就是:将一个哈希数组变成一个哈希哈希,然后将其添加到一个空白数组中,并添加另一个哈希。

正确的解决方案

只是为了使原始代码以最少的更改即可工作(但仍请看一下Uri的解决方案):

tempHash = {"Group_Name" => @GroupName, "Group_Logo_Code" => @GroupLogoCode }

json = File.read('public/group.json')
secondJsonArray = JSON.parse(json)

secondJsonArray << tempHash

File.open("public/group.json","w") do |f|
  f.puts JSON.pretty_generate(secondJsonArray)
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用R将多个文件附加到数据框中

来自分类Dev

使用PHP将JSON附加到文件中的数组

来自分类Dev

使用PHP将新对象附加到外部JSON文件中现有的数组

来自分类Dev

使用JAXB将编组对象附加到XML文件中

来自分类Dev

使用PHP和AJAX将数据附加到json文件

来自分类Dev

如何使用openpyxl python将数据附加到指定行的excel文件中?

来自分类Dev

使用php将javascript对象附加到json文件

来自分类Dev

如何使用python将数据正确附加到JSON

来自分类Dev

如果尚未将数据附加到json文件中

来自分类Dev

如何使用Python将数据附加到现有的AVRO文件中

来自分类Dev

使用Java API将数据附加到hadoop中的文件

来自分类Dev

使用PHP将数据附加到JSON数组

来自分类Dev

使用JAXB将编组对象附加到XML文件中

来自分类Dev

将数据附加到JS“ JSON数组”

来自分类Dev

无法使用php将数据附加到文件

来自分类Dev

使用PHP和AJAX将数据附加到json文件

来自分类Dev

如何使用openpyxl python将数据附加到指定行的excel文件中?

来自分类Dev

使用php将javascript对象附加到json文件

来自分类Dev

JsonGenerator将json数据附加到文件而无需写

来自分类Dev

如何将json数据附加到文件中?

来自分类Dev

如何使用FileOutputStream将数据附加到pptx文件?

来自分类Dev

如何使用 SaveFileDialog 将数据附加到文件

来自分类Dev

将新数据附加到 JSON 数据

来自分类Dev

将数据附加到现有的 json 文件

来自分类Dev

无法使用 openpyxl 将数据附加到 Excel 文件中的工作表

来自分类Dev

将 JSON 数据附加到 HTML 元素

来自分类Dev

如何使用jquery将多个文件附加到formdata中

来自分类Dev

如何使用 node.js 将一些数据直接附加到文件中?

来自分类Dev

使用 jquery 将动态数据附加到表体中

Related 相关文章

  1. 1

    使用R将多个文件附加到数据框中

  2. 2

    使用PHP将JSON附加到文件中的数组

  3. 3

    使用PHP将新对象附加到外部JSON文件中现有的数组

  4. 4

    使用JAXB将编组对象附加到XML文件中

  5. 5

    使用PHP和AJAX将数据附加到json文件

  6. 6

    如何使用openpyxl python将数据附加到指定行的excel文件中?

  7. 7

    使用php将javascript对象附加到json文件

  8. 8

    如何使用python将数据正确附加到JSON

  9. 9

    如果尚未将数据附加到json文件中

  10. 10

    如何使用Python将数据附加到现有的AVRO文件中

  11. 11

    使用Java API将数据附加到hadoop中的文件

  12. 12

    使用PHP将数据附加到JSON数组

  13. 13

    使用JAXB将编组对象附加到XML文件中

  14. 14

    将数据附加到JS“ JSON数组”

  15. 15

    无法使用php将数据附加到文件

  16. 16

    使用PHP和AJAX将数据附加到json文件

  17. 17

    如何使用openpyxl python将数据附加到指定行的excel文件中?

  18. 18

    使用php将javascript对象附加到json文件

  19. 19

    JsonGenerator将json数据附加到文件而无需写

  20. 20

    如何将json数据附加到文件中?

  21. 21

    如何使用FileOutputStream将数据附加到pptx文件?

  22. 22

    如何使用 SaveFileDialog 将数据附加到文件

  23. 23

    将新数据附加到 JSON 数据

  24. 24

    将数据附加到现有的 json 文件

  25. 25

    无法使用 openpyxl 将数据附加到 Excel 文件中的工作表

  26. 26

    将 JSON 数据附加到 HTML 元素

  27. 27

    如何使用jquery将多个文件附加到formdata中

  28. 28

    如何使用 node.js 将一些数据直接附加到文件中?

  29. 29

    使用 jquery 将动态数据附加到表体中

热门标签

归档