【问题标题】:String will not convert to JSON字符串不会转换为 JSON
【发布时间】: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


【解决方案1】:
@body.to_json

正如 Victor 所说,它不是 json,而是 ruby​​ 哈希

【讨论】:

    猜你喜欢
    • 2018-06-28
    • 2020-03-30
    • 2012-10-26
    • 2011-06-28
    • 2012-10-06
    • 1970-01-01
    相关资源
    最近更新 更多