проблема с рендерингом JSON для массива

У меня есть этот массив с моего сервера. Который возвращается так, когда я использую:

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

поэтому я просто попытался сделать это:

price1.each do |price11|
  price11.json {render json: price11.as_json}
end

Однако это возвращает эту ошибку:

NoMethodError (undefined method `json' for ["formatted_total_price", "£66.00"]:Array):

То, что я хочу, это иметьformatted_total_price и£66.00 чтобы соответствовать, чтобы выглядеть так:

"formatted_total_price":"£66.00"

Вот фактический код, который у меня есть:

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

редактировать Хорошо, вот что у меня есть:

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 @ extra £4.95 per ticket
ticket_desc
Later Owl + Chance For VIP Upgrade
ticket_desc
VIP Ticket
ticket_desc
VIP Ticket + Collector Ticket @ 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

То, что я хочу, вроде как в прошлый раз, но больше похоже на это:

"formatted_total_price" : "£66.00",
"ticket_desc" : "Later Owl Ticket"

Также, если в ticket_desc есть что-то, что включает+ символ, который я хочу игнорировать (я могу сделать это сам, если вы не знаете лучшего способа !!)

Ответы на вопрос(1)

Ваш ответ на вопрос