如何在WP数据库中检查和获取JSON对象?

时间:2020-04-07 作者:J.BizMai

我需要检查数据库中的选项值是否是json对象。

以下功能无法工作:

function isJson( string $str, $is_assoc = true ){
    json_decode( $str, $is_assoc );
    return (json_last_error() == JSON_ERROR_NONE);
}
这很正常,因为通过SQL查询,我得到:

a:2:{i:3;a:4:{s:5:"title";s:0:"";s:4:"text";s:503:"...}}
而不是

{ \'3\' : { \'title\' : "", \'text\' : "..." }...}}
如何检查此数据是否为json对象并将此数据作为对象获取?

最终目标:在数据库中重新放置json对象的correclty值,而不破坏序列化数据。

1 个回复
SO网友:J.BizMai

检查数据库中的字符串是否如下a:2:{i:3;a:4:{s:5:"title";s:0:"";s:4:"text";s:503:"...}}, 您可以使用该功能is_serialized()

要以php数组的形式获取数据,请执行以下操作:

if(is_serialized($data_as_string)){
    $data_as_array = unserialize( $data_as_string);
}

相关推荐

从Zillow API响应中提取XML/JSON元素并填充到重力表单字段中

给定此堆栈:WordPress 5.3重力表单2.4.15.6(付费:普通,对吗?)表单:第三方集成(免费:Link to WordPress plugin page)表单:第三方注入结果(免费:Link to WordPress plugin page)<Zillow GetSearchResults API(免费:Link to Zillow API)我已连接到Zillow的API并收到此文件中包含的响应:Link to 3rd-Party Integration debug text file