首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组的呈现json问题

数组的呈现json问题
EN

Stack Overflow用户
提问于 2016-06-07 11:07:43
回答 1查看 294关注 0票数 0

这个数组来自我的服务器。当我使用puts时,它会像这样返回:

代码语言:javascript
复制
formatted_total_price
£66.00
formatted_total_price
£128.00
formatted_total_price
£246.00
formatted_total_price
£243.20
formatted_total_price
£242.86
formatted_total_price
£242.50

所以我就试着这么做:

代码语言:javascript
复制
price1.each do |price11|
  price11.json {render json: price11.as_json}
end

但是,这将返回此错误:

代码语言:javascript
复制
NoMethodError (undefined method `json' for ["formatted_total_price", "£66.00"]:Array):

我想要的是让formatted_total_price£66.00匹配如下:

代码语言:javascript
复制
"formatted_total_price":"£66.00"

下面是我的实际代码:

代码语言:javascript
复制
doc.xpath("//script[@type='text/javascript']/text()").each do |text|
       if text.content =~ /more_options_on_polling/
         price1 = text.to_s.scan(/\"(formatted_total_price)\":\"(.+?)\"/).uniq
         description = text.to_s.scan(/\"(ticket_desc)\":\"(.+?)\"/).uniq
         price = price1 + description
         price1.each do |price11|
           price11.json {render json: price11.as_json}
         end
       end

编辑 Ok,下面是我的内容:

代码语言:javascript
复制
formatted_total_price
£66.00
formatted_total_price
£128.00
formatted_total_price
£246.00
formatted_total_price
£243.20
formatted_total_price
£242.86
formatted_total_price
£242.50
ticket_desc
Later Owl Ticket
ticket_desc
Later Owl Ticket+Collector Ticket &#64 extra £4.95 per ticket
ticket_desc
Later Owl + Chance For VIP Upgrade
ticket_desc
VIP Ticket
ticket_desc
VIP Ticket + Collector Ticket &#64 extra £4.95 per ticket
ticket_desc
Skydeck Package
ticket_desc
5 Person Skydeck Table
ticket_desc
7 Person Skydeck Table
ticket_desc
10 Person Skydeck Table

我想要的和上次差不多,但更像这样:

代码语言:javascript
复制
"formatted_total_price" : "£66.00",
"ticket_desc" : "Later Owl Ticket"

此外,如果ticket_desc有任何包含+符号的内容,我希望它被忽略(除非您知道更好的方法,否则我自己可以这样做!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-07 11:18:41

代码语言:javascript
复制
a = Array.new

price1.each do |p|
    a.merge({p[0] => p[1]})
end

render json: a.to_json

或者简单的说你可以

代码语言:javascript
复制
price1.map{|a| { a[0] => a[1] } }.to_json
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37677710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档