【问题标题】:Reformat JSON in Rails在 Rails 中重新格式化 JSON
【发布时间】:2023-03-28 10:28:01
【问题描述】:

是否有一个实用程序可以帮助我在 Rails、JS 或 Ruby 中重新格式化 JSON 结构?

我正在使用原始 sql 调用旧数据库。 sql_result = ActiveRecord::Base.connection.execute(sql) 渲染 json: sql_result, root:false

数据返回正常,但我需要重新格式化此 JSON 输出... [“MyBiz, LLC”, "55 Main St","旧金山","CA","94103", "2007 年 3 月 6 日","2007 年 12 月 31 日"]

看起来像这样... { "公司":"MyBiz, LLC", "地址":"55 Main St", “城市”:“旧金山”, "州":"CA", "邮编":"94103", "开始":"03/06/2007", “结束”:“2007 年 12 月 31 日” }

【问题讨论】:

    标签: ruby-on-rails json


    【解决方案1】:

    字段名称丢失。尝试类似:

     keys = ["Company", "Address", "City", "State", "ZipCode", "Start", "End"]
     ["MyBiz, LLC", "55 Main St","San Francisco","CA","94103", "3/06/2007","12/31/2007"].
       each_with_index.map { |v, i| { keys[i] => v } }.reduce(:merge).to_json
    
     #  => "{\"Company\":\"MyBiz, LLC\",\"Address\":\"55 Main St\",\"City\":\"San Francisco\",\"State\":\"CA\",\"ZipCode\":\"94103\",\"Start\":\"3/06/2007\",\"End\":\"12/31/2007\"}"
    

    【讨论】:

    • 这很漂亮。我发布的代码格式不完全正确,但您回答正确。感谢您的帮助!
    【解决方案2】:
     keys = ["Company", "Address", "City", "State", "ZipCode", "Start", "End"]
     Hash[*keys.zip(sql_result).flatten]
    

    【讨论】:

      猜你喜欢
      • 2019-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多