【问题标题】:Decode string into an array将字符串解码为数组
【发布时间】:2016-04-12 04:32:46
【问题描述】:

我得到低于字符串的输出,我想将其解码为一个简单的数组,以便我可以使用这些值进行处理。 web-service 使用下面的函数返回响应

echo(var_export($response));

回应

stdClass::__set_state(array(
   'criteriaKeyResultsMap' => 
  stdClass::__set_state(array(
     '477270310' => true,
     '528726710' => false,
     '517907210' => true,
     '497709910' => true,
     '253529610' => false,
     '529845410' => true,
     '519674810' => false,
     '517587110' => false,
     '477270610' => true,
     '260901310' => false,
     '260901610' => false,
     '529845110' => true,
  )),
))

我正在尝试使用 json_decode() 但它给出了相同的结果。

【问题讨论】:

  • 你是如何得到字符串的?似乎这里可能存在另一个问题,阻止了更简单的数据访问方式。
  • API 使用 echo(var_export($response));返回结果

标签: php json decode encode


【解决方案1】:

最好的解决方法是更新您的 API(如果您可以控制源代码)以使用 json_encode 而不是 var_export,然后再进行回显。

解析var_export 的输出是可能的,但会更加复杂、资源密集且将来容易损坏。

【讨论】:

  • 我无法控制 API 的更改。
【解决方案2】:

试试这个

json_decode($your_data,true);

它会产生输出。

【讨论】:

  • $rst = json_decode($str); print_r($rst);这给出了空白结果
  • $rst = json_decode($str,true);添加真正的。试试这个
  • 仍然得到空白响应
猜你喜欢
  • 1970-01-01
  • 2017-01-05
  • 2012-07-07
  • 2018-06-25
  • 1970-01-01
  • 2014-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多