首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Rails中格式化嵌套的JSON?

如何在Rails中格式化嵌套的JSON?
EN

Stack Overflow用户
提问于 2012-04-15 01:52:17
回答 2查看 275关注 0票数 1

我正在尝试将嵌套的JSON从Rails传输到JavaScript。到目前为止,我成功地传输了以下JSON:

代码语言:javascript
复制
[
  "name" : "task-1",
  "relationships" : [
    {"follower": {"name" : "task-2"}},
    {"follower": {"name" : "task-3"}}
]

我想将此JSON格式化为如下所示:

代码语言:javascript
复制
[
  "name" : "task-1",
  "relationships" : [
    {"name" : "task-2"},
    {"name" : "task-3"}
]

下面是我生成JSON的方法:

代码语言:javascript
复制
@tasks.to_json(
  :include => { :relationships => {
                  :include => :follower,
                  :only => :follower
               } })

我可以在我的to_json函数中指定一些选项来去掉"follower“键名吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-11 00:47:44

我最终使用了不同的查询来解决这个问题:

代码语言:javascript
复制
@tasks = Task.to_json(:include => :followed_tasks)

其中followed_tasks是在Task模型中定义的:

代码语言:javascript
复制
has_many :relationships, foreign_key: "follower_id", dependent: :destroy
has_many :followed_tasks, through: :relationships, source: :followed

这为我提供了格式良好的JSON:

代码语言:javascript
复制
[
  "name" : "task-1",
  "followed_tasks" : [
    { "name" : "task-2" },
    { "name" : "task-3" }
]
票数 0
EN

Stack Overflow用户

发布于 2012-04-15 05:06:40

事实证明是这样的。选项是:

代码语言:javascript
复制
ActiveRecord::Base.include_root_in_json = false

您应该能够将其放入config/environment.rb ment.rb中,然后就可以运行了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10155913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档