【问题标题】:Rails: parse weirdly-formatted JSONRails:解析格式怪异的 JSON
【发布时间】:2017-01-05 14:08:40
【问题描述】:

来自外部服务的 JSON 响应如下所示:

Parameters: {"{\"attributes\":{\"type\":\"Lead\",\"url\":\"/services/lead/2231\"},\"Id\":\"2231\",\"FirstName\":\"Jean\"}"=>nil, "external_id"=>"2231"}

如何解析 Rails 5 中的 IdFirstName 键?我什么都试过了。我知道 Rails 5 有 .to_unsafe_h 方法,这不是我的问题。更多的是奇怪的嵌套格式,在上面的"Jean" 之后具有nil 的值。

【问题讨论】:

  • 你为什么有Parameters?外部服务是否向您的 Rails 服务器发出请求?
  • 根据jsonlint.com,您的 JSON 不是有效的 JSON,所以如果不手动进行解析,我根本看不到它是如何解析的
  • 就是XY problem,请告诉我们您是如何得到这个回复的?

标签: ruby-on-rails json ruby ruby-on-rails-5


【解决方案1】:

如果你仔细观察,你会看到:

"{\"attributes\":{\"type\":\"Lead\",\"url\":\"/services/lead/2231\"},\"Id\":\"2231\",\"FirstName\":\"Jean\"}"实际上是一个字符串,一个key,与之关联的value值是nil

如果要解析,可以使用parameters.keys[0].to_json;尽管我会首先仔细检查为什么您首先会以不正确的状态获取参数。

【讨论】:

    猜你喜欢
    • 2015-08-06
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多