【发布时间】:2015-09-08 17:16:23
【问题描述】:
我有一个通过变量传递的字符串。我正在尝试将其转换为 JSON,以便将其分解,但我不断收到 JSON 解析器错误。
这是传递给我的字符串(最初来自 API,因此应该正确格式化):
[{"FlightSegment"=>[{"DepartureAirport"=>{"LocationCode"=>"LAX"}, "ArrivalAirport"=>{"LocationCode"=>"FLL"}, "MarketingAirline"=>{"Code"=>"NK"}, "ArrivalTimeZone"=>{"GMTOffset"=>-4}, "TPA_Extensions"=>{"eTicket"=>{"Ind"=>true}}, "StopQuantity"=>0, "ElapsedTime"=>286, "ResBookDesigCode"=>"U", "MarriageGrp"=>"O", "Equipment"=>{"AirEquipType"=>319}, "DepartureDateTime"=>"2015-09-18T21:00:00", "ArrivalDateTime"=>"2015-09-19T04:46:00", "FlightNumber"=>310, "OnTimePerformance"=>{"Level"=>7}, "OperatingAirline"=>... it goes on for a while, but repeating itself.
以及我尝试使用的代码:
<% parsed_list = JSON.parse(@body) %>
<%= parsed_list %>
不幸的是,我不断收到意外的令牌:
399: unexpected token at '{"FlightSegment"=>[{"DepartureAirport"=>{"LocationCode"=>"LAX"}, "ArrivalAirport"=>{"LocationCode"=>"FLL"}, "MarketingAirline"=>{"Code"=>"NK"}, "ArrivalTimeZone"=>{"GMTOffset"=>-4}, "TPA_Extensions"=>{"eTicket"=>{"Ind"=>true}}, "StopQuantity"=>0, "ElapsedTime"=>286, "ResBookDesigCode"=>"U", "MarriageGrp"=>"O", "Equipment"=>{"AirEquipType"=>319}, "DepartureDateTime"=>"2015-09-18T21:00:00", "ArrivalDateTime"=>"2015-09-19T04:46:00", "FlightNumber"=>310, "OnTimePerformance"=>{"Level"=>7}, "OperatingAirline"=>{"FlightNumber"=>310, "Code"=>"NK"}, "DepartureTimeZone"=>{"GMTOffset"=>-7}}], "ElapsedTime"=>286}
有什么想法吗? 谢谢!
【问题讨论】:
-
那个字符串不是 JSON,它是一个 ruby 哈希。
-
@victorkohl - 这很奇怪。该数据来自 API 的文档说它是作为 JSON 发送的。
标签: ruby-on-rails arrays json parsing