我尝试将json对象打印成字符串格式。
(实际上我从ruby代码中获取了这些数据值
var data = '<%=[@pro {|c| {x:c.x, y:c.y}}].to_json%>'
)
在打印数据变量时,我得到的值包含"
而不是'
var data=[[{"x":1,"y":0}]]
我希望以var data="[[{ 'x': '1', 'y': '0' }]]";
使用以下格式获取的代码"
删除var dataset=JSON.parse(data.replace(/"/g,'"'));
。
var dataset = [[{“x”:1,“y”:0}]]
我想打印像[[{ 'x': '1', 'y': '0' }]]
这样的值。怎么可能。
答案 0 :(得分: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
答案 1 :(得分:-3)
JSON.stringify将对象转换为json格式。
var dataset =[[{"x":1,"y":0}]]
var JsonData = JSON.stringify(dataset);