gpt4 book ai didi

javascript - 如何在 Rails 中将 json 呈现为不带元标记的数组数组——(将数据传递到 google charts api javascript)

转载 作者:太空宇宙 更新时间:2023-11-03 16:33:11 25 4
gpt4 key购买 nike

在 Rails 中,这是我当前生成的 API 响应,作为来自/charts_json/south_carolina.json 的响应(例如)

[{"d_s":0,"name":"summerville"},{"d_s":1,"name":"hilton head island"},{"d_s":2,"name":"north myrtle beach"},{"d_s":1,"name":"spartanburg"},{"d_s":12,"name":"greenville, sc"},{"d_s":0,"name":"aiken"},{"d_s":6,"name":"columbia"},{"d_s":4,"name":"myrtle beach"},{"d_s":1,"name":"simpsonville"},{"d_s":1,"name":"lancaster, sc"},{"d_s":0,"name":"north augusta"},{"d_s":0,"name":"sumter"},{"d_s":0,"name":"rock hill"},{"d_s":1,"name":"beaufort, sc"},{"d_s":1,"name":"mount pleasant"},{"d_s":21,"name":"charleston"},{"d_s":1,"name":"clemson"},{"d_s":1,"name":"anderson, sc"}]

现在我需要做的是将上面的内容呈现为 json 文档

[['0', 'summerville'], ['1', 'hilton head island'], ...etc... ]

为了 SO 社区的利益和读者的澄清,如果我处理完最后一件事,我将包括我将用来完成这项工作的所有代码

除了我的 charts_controller 之外,我还生成了一个 charts_json_controller 来响应 json 请求——该 Controller 中 Controller 方法的一个示例(这有点笨拙,但现在只要我获得功能就可以了)

def south_carolina
@locations = Location.find(1687).descendants #used acts_as_tree gem
respond_to do |format|
format.json { render json: @location.as_json(only: [:d_s, :name])}
end

在 View 中(横截面)

function drawMarkersMap() {
var data = google.visualization.arrayToDataTable([
['Startups', 'Location'],
$.ajax({url: '/charts_json/south_carolina', dataType: 'json'})
]);

最佳答案

不确定我是否理解正确,但这里有一种将 json 作为数组而不是散列的方法。

为 Location 定义这个方法

class Location  def self.as_json_array    as_json(only: [:d_s, :name]).collect { |l| [l[:d_s], l[:name]] }  endend

如果需要,您可以使它更通用,但我想确保我首先了解您的要求。

然后只需在渲染行中使用该方法而不是 as_json。

此外,听起来您似乎知道这一点,但您实际上应该只使用相同的 Controller 并将不同格式的任何自定义代码放入您的 respond_to block 中。

关于javascript - 如何在 Rails 中将 json 呈现为不带元标记的数组数组——(将数据传递到 google charts api javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12310324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com