0

我正在尝试将 json 对象打印为字符串格式。

(实际上我从 ruby​​ 代码中得到了这些数据值 var data = '<%=[@pro {|c| {x:c.x, y:c.y}}].to_json%>'

在打印数据变量时,我得到的值包含&quot而不是'

var data=[[{&quot;x&quot;:1,&quot;y&quot;:0}]]

我想以格式获取值var data="[[{ 'x': '1', 'y': '0' }]]";

使用以下格式&quot;的代码删除时。var dataset=JSON.parse(data.replace(/&quot;/g,'"'));

var 数据集 =[[{"x":1,"y":0}]]

我想打印像[[{ 'x': '1', 'y': '0' }]].How 它是可能的值。

4

2 回答 2

0

如果您只使用 2 个变量,那么您可以简单地这样做:

var data = [[{'x': '<%= @pro.x %>', 'y': '<%= @pro.y %>'}]];  

并且不需要使用to_json方法。

如果您想对许多值进行字符串化,那么这段代码就像一个魅力:

<% array = [[{'x' => 1, 'y' => 1}], [{'x' => 2, 'y' => 2}], [{'x' => 3, 'y' => 3}]] %>
<%= array.to_json %>

他输出:

[[{"x":1,"y":1}],[{"x":2,"y":2}],[{"x":3,"y":3}]]

如果您需要在控制器中按请求发送 json,请使用:

def send_json_array
    array = [[{'x' => 1, 'y' => 1}], [{'x' => 2, 'y' => 2}], [{'x' => 3, 'y' => 3}]]
    response.headers['Content-type'] = "text/plain; charset=utf-8"
    render :text => array.to_json
end
于 2013-07-22T07:36:29.083 回答
-3

JSON.stringify 将对象转换为其 json 格式。

var dataset =[[{"x":1,"y":0}]]
var JsonData = JSON.stringify(dataset);
于 2013-03-28T06:11:11.863 回答