如何构建 JSON 对象?

2024-02-19

目前我通过执行以下操作构建 JSON 对象:

@users = User.all

@users.each do |user|
  @userlist << {
    :id => user.id,
    :fname => user.fname,
    :lname => user.lname,
    :photo => user.profile_pic.url(:small)
  }
end

我的挑战是我现在想包括来自@contacts表的字段集与User model.

我尝试做

@users = User.all
@contacts = current_user.contacts
@users << @contacts

但这没有用。将两个相似的模型组合成一个 JSON 对象的最佳方法是什么?


json = User.all( :include => :contacts).to_json( :include => :contacts )

Update

抱歉,让我对您正在做的事情给出更完整的答案......

@users = User.all( :include => :contacts )
@userlist = @users.map do |u|
  { :id => u.id, :fname => u.fname, :lname => u.lname, :photo => u.profile_pic.url(:small), :contacts => u.contacts }
end

json = @userlist.to_json

另一个更新

好吧,忘了我吧——我今天过得很糟糕,完全没有抓住你问题的重点。您需要一些包含两组不相关数据的 JSON。所有用户,and仅适用于当前用户的联系人。

然后你想为此创建一个新的哈希,像这样......

@users = User.all
@userlist = @users.map do |u|
  { :id => u.id, :fname => u.fname, :lname => u.lname, :photo => u.profile_pic.url(:small) }
end

json = { :users => @userlist, :contacts => current_user.contacts }.to_json
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何构建 JSON 对象? 的相关文章

随机推荐

  • 如何在终端中编辑AWS凭证?

    编辑密钥的命令是什么aws configure在终端 只需输入aws configure再次 或aws configure profile
  • 如何使用新的 Android 4.0 Ice Cream Sandwich API 读取和编辑 Android 日历事件?

    当用户想要添加新事件时 我们试图向用户展示冰淇淋三明治日历视图 我们只能在模拟器中进行测试 另一个问题是我们找不到任何如何使用 CalendarProvider 的示例 在处理三明治日历时 这是正确的课程吗 使用 Google Gdata
  • focus() 在颜色框弹出窗口中不起作用

    我尝试使用focus对于表单上的第一个输入字段 但 它不起作用 当我打电话时attr id 对于该输入 它起作用了 当我为相同的输入调用焦点时 我没有看到任何 结果 我也尝试过使用原生 Javascript 有谁知道如何 解决这个问题吗 你
  • 管理多个版本的序列化 Java 对象

    假设我有一个程序由于某种原因需要处理旧版本的序列化对象 例如 反序列化时 可能会遇到这些版本之一 class Pet private static final long serialVersionUID 1L int paws class
  • 为什么这段代码不起作用?刽子手

    我正在创建一个刽子手游戏 一切正常 我已经准备好了代码 可用于使游戏失败并给猜测值 1 尽管当将它添加到 else 语句中时 它会重复等于单词的长度 并且它也会给出一个猜测 即使它是正确的 我没看出代码有什么问题 我相信这是我的代码在猜测错
  • 假脱机多个文件

    我有一份报告 需要将 n 个供应商导出到 csv 文件 我有一种感觉 我需要多次运行它 所以我想尽可能地自动化它 我为一个供应商编写了所需的 sql plus 我想知道如何编写脚本来为每个供应商运行 我将供应商列表存储在数据库的表中 但知道
  • Rails - 当模型验证失败时,URL 更改会令人困惑

    我有一个用户资源在哪里 name是模型上的必需属性 如果我尝试创建一个新用户without一个名称 则验证失败并且错误消息按预期显示在表单顶部 but页面的 URL 更改为 users new to users 直到今晚我第一次开始玩水豚时
  • Microsoft Azure 备份在保留期缩短后不会减少可用恢复点或目标使用情况

    在保留期缩短后 Microsoft Azure 备份不会减少可用恢复点或目标使用情况 我将保留期设置为 30 天 备份量约为 6 8TB 一周前 我将保留期更改为 7 天 花了几天时间总恢复点才降至 7 个 使用率仍在上升 我今天 星期一
  • Django 每个应用程序的不同设置

    如何为每个应用程序使用不同的设置 例如 http www mysite com app1 http www mysite com app1使用 app1 文件夹的 settings py local settings py http www
  • git 合并不同的存储库?

    我所有的项目都使用 SVN 有时项目 B 是项目 A 的副本 当项目 A 有一般性变更时 我可以使用svn merge A在目录 B 中 它将合并这些更改 现在 如果我想使用 git 我不喜欢将所有项目放在同一个存储库中 因为这样我就必须克
  • WPF:找不到 Microsoft_Windows_Themes

    我在 WPF 应用程序中收到此错误 找不到类型 Microsoft Windows Themes ScrollChrome 验证您没有缺少程序集引用并且所有引用的程序集均已构建 任何想法 确保将此引用添加到控件 页面 资源字典 其他内容的最
  • 读取外部网站提交的 Angular 中的 POST 表单

    我正在开发一个网站 后端使用 Java 前端使用 Angular 有一种情况 一些外部网站可能会使用POST形式向我的网站发送数据 例如 General请求网址 https myangularwebsite 请求方式 POST 请求标头内容
  • 我可以在四元数中切换 X Y Z 吗?

    我有一个 Y 轴向上的坐标系 我需要将其转换为 Z 向上的坐标系 我将旋转存储在四元数中 所以我的问题是 如果我有一个四元数 X Y Z 我可以用 Z 切换 Y 并得到 Z 实际上是 UP 的结果吗 只是交换四元数中的两个轴 不 这不起作用
  • Azure Bicep - 有条件地创建一个秘密

    我正在使用 Bicep 创建一个 KeyVault 并且我想在保管库中创建一个秘密 但前提是还没有给定名称的秘密 检查 KeyVault 是否存在不起作用 因此我现在正在检查特定标签是否存在 创建 Vault 时 我在资源组中写入一个标签
  • 如何查看.RData 文件中的数据?

    我必须加载 isfar RData 文件才能在其他计算中使用它 此处描述并不重要 我想简单地看看 isfar RData 文件中的数据如何 例如它携带什么数字 列 行 首先我加载我的文件 isfar lt load C Users isfa
  • 打印 NSMutableURLRequest 内容

    我想问是否有人尝试过打印 NSMutableURLRequest request 的值 这是我的场景 我已经形成了我的 XML 并尝试使用 Firefox Poster 插件发送它 我成功地处理了有效和无效的内容 所以是时候进入 iOS 了
  • 全面的初学者 virtualenv 教程? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我最近听到有关 virtualenv 的传闻 我很感兴趣 但我所听到的只是一些赞扬 并不清楚它是什么或如何使用它 我正在寻找 理想情况下
  • java中如何调用一个线程在特定时间运行?

    我想让线程在特定的确切时间执行 例如 2012 07 11 13 12 24 和 2012 07 11 15 23 45 我检查了ScheduledExecutorService 但它只支持在第一次运行后的特定时间段后执行 而且我没有任何固
  • UITableView 在动画过程中崩溃,已找到解决方案,但没有找到根本原因,想知道为什么?

    在我的iphone项目中 我总是将UITableView作为IBOutlet插入到视图控制器中 大多数时候它运行良好 但是当popToRootViewControllerAnimated调用动画时会发生随机崩溃 通过僵尸跟踪 发现崩溃是由于
  • 如何构建 JSON 对象?

    目前我通过执行以下操作构建 JSON 对象 users User all users each do user userlist lt lt id gt user id fname gt user fname lname gt user l