Ruby on rails 如何在rails应用程序中创建JSON字符串

Ruby on rails 如何在rails应用程序中创建JSON字符串,ruby-on-rails,json,timeline.js,Ruby On Rails,Json,Timeline.js,所以我使用的是TimelineJS(),我使用的是Rails应用程序 我需要找出如何生成一个合适的JSON字符串用于TimelineJS 因此,给出下面的演示JSON字符串……我需要对我的应用程序做什么才能重新创建这个JSON字符串 ()TimelineJS开发人员演示的JSON示例如下所示 var dataObject = { "timeline": { "headline":"The Main Timeline Headline Goes here", "type":"def

所以我使用的是TimelineJS(),我使用的是Rails应用程序

我需要找出如何生成一个合适的JSON字符串用于TimelineJS

因此,给出下面的演示JSON字符串……我需要对我的应用程序做什么才能重新创建这个JSON字符串

()TimelineJS开发人员演示的JSON示例如下所示

var dataObject = {
"timeline":
{
    "headline":"The Main Timeline Headline Goes here",
    "type":"default",
    "text":"<p>Intro body text goes here, some HTML is ok</p>",
    "asset": {
        "media":"http://yourdomain_or_socialmedialink_goes_here.jpg",
        "credit":"Credit Name Goes Here",
        "caption":"Caption text goes here"
    },
    "date": [
        {
            "startDate":"2011,12,10",
            "endDate":"2011,12,11",
            "headline":"Headline Goes Here",
            "text":"<p>Body text goes here, some HTML is OK</p>",
            "tag":"This is Optional",
            "classname":"optionaluniqueclassnamecanbeaddedhere",
            "asset": {
                "media":"http://twitter.com/ArjunaSoriano/status/164181156147900416",
                "thumbnail":"optional-32x32px.jpg",
                "credit":"Credit Name Goes Here",
                "caption":"Caption text goes here"
            }
        }
    ],
    "era": [
        {
            "startDate":"2011,12,10",
            "endDate":"2011,12,11",
            "headline":"Headline Goes Here",
            "text":"<p>Body text goes here, some HTML is OK</p>",
            "tag":"This is Optional"
        }

    ]
}
那么,我该如何从中创建TimeLineJSON字符串呢?有什么想法吗

更新:使用下面提供的关于第一个答案的建议…我的模型和控制器文件中分别有这个…但这不起作用…我得到一个“未定义的方法-时间线”错误…我做错了什么

coin.rb(模型)


end

Rails有一个内置的to_json方法。您需要做的是在您的模型中使用一个方法来创建具有此结构的散列,并且您可以将其作为json发送到前端。例如:

class YourModel
    def timeline
      t = {}
      t['timeline'] = {}
      t['timeline']['headline'] = "Lorem ipsum"
      ...
      ...

      return t
    end
end
在控制器操作中:

@timeline = model.timeline.to_json

从这里开始,您需要调用JSON.parse()来使用前端的数据。

Rails有一个内置的to_JSON方法。您需要做的是在您的模型中使用一个方法来创建具有此结构的散列,并且您可以将其作为json发送到前端。例如:

class YourModel
    def timeline
      t = {}
      t['timeline'] = {}
      t['timeline']['headline'] = "Lorem ipsum"
      ...
      ...

      return t
    end
end
在控制器操作中:

@timeline = model.timeline.to_json

从这里开始,您需要调用JSON.parse()来使用前端的数据。

您可以使用它来创建复杂的
JSON
输出。它的工作原理与普通视图类似。只需在视图文件夹中创建一个index/show.json.jbuilder模板。然后您不需要调用
render json:@timeline

就可以使用它来创建复杂的
json
输出。它的工作原理与普通视图类似。只需在视图文件夹中创建一个index/show.json.jbuilder模板。那么你就不需要调用
render json:@timeline

看看我对原始问题的更新……我发现了一个未定义的方法错误,我不知道如何解决……谢谢你的帮助。顺便说一句。@thefonse,我只是好奇,你解决了你的问题了吗?我有完全相同的问题。如果你能分享你的解决方案,那就太好了。非常感谢你!看一看我对原始问题的更新…我遇到了一个未定义的方法错误,我不知道如何解决…谢谢你的帮助顺便说一句。@thefonse,我只是好奇,你解决了你的问题吗?我有完全相同的问题。如果你能分享你的解决方案,那就太好了。非常感谢你!
@timeline = model.timeline.to_json