当前位置: 首页 > 知识库问答 >
问题:

Rails中JSON/Javascript解析的正确过程?

公冶弘壮
2023-03-14

在Rails中,我查询数据库以构建highcharts的数据对象。

这是我的控制器中的方法

def build_data_for_chart
data_array = Array.new
@data_array_as_json = ''

@issues.each { 
  |issue| 
  # returns an array of KeyIssue objects for a given issue
  given_issue_array = KeyIssues.where(issue: issue).all
  a = Array.new

  #loop through each element extracting the timedate and % and add to new array
  given_issue_array.each {
    |entry|
    a.push([entry.datetime.utc.to_date, entry.percentage])
  }

  #build the hash for an individual issue
  temp_hash = {:name => issue, :data => a, :animation => false}

  #add the individual issue and all its data to a final array that contains all the issues.
  data_array.push(temp_hash)
} 

@data_array_as_json = data_array.to_json.html_safe

终止

现在,在我看来,我正试图在一个脚本中把它拉出来。

---脚本---

var data = $.parseJSON(<%= @data_array_as_json %>);

---脚本---

当我打印到控制台时,我可以看到对象及其所有数据。此外,当我打印到html时,输出看起来是正确的:

"[{\"名称\":\"原

但是当我去打印数据变量时,它是null(显然是由于不是有效输入)。我搞砸了什么?

共有2个答案

林和煦
2023-03-14

您可以尝试以下操作:

<script type="text/javascript">
  var data = <%== data_array.to_json %>
</script>
沈冠宇
2023-03-14

仅供参考。

我需要用单引号包装它...让它工作...

$.parseJSON(' <%= @data_array_as_json %> ');
 类似资料:
  • 我试图获取一个JSON响应,并将结果存储在一个变量中。我在以前的Swift版本中使用过这个代码版本,直到Xcode8的GM版本发布。我在StackOverflow上看了几篇类似的文章:Swift 2 Parsing JSON-Cant下标类型为“anyObject”的值和Swift 3中的JSON Parsing。 然而,这里所传达的思想似乎不适用于这种情况。 如何正确解析Swift3中的JSON

  • 问题内容: 我正在以JSON格式传回来自网络服务器的批准推文列表。当我转到URL:时,在我的浏览器中得到以下JSON: 其ID为:。 当我从Javascript进行GET调用时,数字发生变化: 此代码提醒: 354210796420608004!= 354210796420608000 很奇怪。 问题答案: 不,不是很奇怪。JS将所有数字表示为双精度数字,并且随着整数的增大,您有时会失去精度。 要

  • 问题内容: 我正在尝试获取JSON响应并将结果存储在变量中。在以前的Swift版本中,我已经使用过此代码的版本,直到Xcode 8的GM版本发布为止。我在StackOverflow上看到了一些类似的文章:Swift 2解析JSON- 无法 在Swift 3中下标’AnyObject’类型的值和JSON解析。 但是,似乎此处传达的想法不适用于这种情况。 如何在Swift 3中正确解析JSON响应?在

  • 问题内容: 我想解析JavaScript中的JSON字符串。响应就像 我怎样才能获得的值,并从这个? 问题答案: 在JavaScript中解析JSON的标准方法是 该API是在ES5(2011)中引入的,此后按市场份额和Node.js在超过99%的浏览器中已实现。它的用法很简单: 唯一无法使用的时间是您是否在为旧版浏览器编程,例如IE 7(2006),IE 6(2001),Firefox 3(20

  • 主要内容:什么是 JSON,在 JavaScript 中解析 JSON 数据,解析嵌套的 JSON 数据,将数据转换为 JSONJSON 全称为“JavaScript Object Notation”,是当前最流行的一种轻量级的数据交换格式,用来存储和传输数据,通常服务器端与客户端在进行交互时就是使用 JSON 格式的数据。 什么是 JSON JSON 是从 JavaScript 脚本中演变而来的,并且使用 JavaScript 中的语法来描述数据。与 XML 一样,JSON 也是一种基于文本的

  • GSON不是在一开始就解析我传递的整个JSON字符串吗?因此,最终,我希望新的数据源是对象。那可行吗?