从SOAP / JSON提取值

我有一个JSON响应,并且我尝试了多种方法来提取具有(APPROVED)的值,但是这很困难


这是回应:


PHP,JSON


2028000NGNDepositSecure3D{"lkpTransactionId":"1100037249","lkpErrorNo":"0","lkpErrorDescription":"Approved","lkpEnrolled":"Y","lkpEciFlag":"02","authSend":"Y","authErrorNo":"0","authErrorDescription":"Approved","authCavv":"jHyn+7YFi1EUAREAAAAvNUe6Hv8=","authXid":"O0KGgwbJpRpdB8cw4OUfee34PkA=","authEciFlag":"02","authPAResStatus":"Y"}Successful64086914117475714319752028000052019545301******41541100037249MASTERCARDSamuel Adah00SuccessfultrueSUCCESSFULPAYMENT

我想以数组或字符串形式获取每个结果。


感谢你们。


更新:


我能够听从您的建议,结果如下:


array(12) {

  ["lkpTransactionId"]=>

  string(10) "1100037249"

  ["lkpErrorNo"]=>

  string(1) "0"

  ["lkpErrorDescription"]=>

  string(8) "Approved"

  ["lkpEnrolled"]=>

  string(1) "Y"

  ["lkpEciFlag"]=>

  string(2) "02"

  ["authSend"]=>

  string(1) "Y"

  ["authErrorNo"]=>

  string(1) "0"

  ["authErrorDescription"]=>

  string(8) "Approved"

  ["authCavv"]=>

  string(28) "jHyn+7YFi1EUAREAAAAvNUe6Hv8="

  ["authXid"]=>

  string(28) "O0KGgwbJpRpdB8cw4OUfee34PkA="

  ["authEciFlag"]=>

  string(2) "02"

  ["authPAResStatus"]=>

  string(1) "Y"

对我来说,获取authErrorDescription的价值真的很困难。


我尝试了这个:


foreach($res as $user){ 

      echo $user[8]['authErrorDescription'].'<br/>';

      //echo $user[0]->authErrorDescription;

   }

但是结果没有正确显示。


Smart猫小萌
浏览 166回答 1
1回答

忽然笑

在您的示例中,这不是json。杰森(Json)以{您可以使用此代码将json转换为php Array$res = json_decode('{"lkpTransactionId":"1100037249","lkpErrorNo":"0","lkpErrorDescription":"Approved","lkpEnrolled":"Y","lkpEciFlag":"02","authSend":"Y","authErrorNo":"0","authErrorDescription":"Approved","authCavv":"jHyn+7YFi1EUAREAAAAvNUe6Hv8=","authXid":"O0KGgwbJpRpdB8cw4OUfee34PkA=","authEciFlag":"02","authPAResStatus":"Y"}',true);var_dump($res);如果您有响应(出于任何原因),则必须在使用json_decode之前解析此字符串。strpos($str,'{')-将返回字符串中“ {”的位置substr-将返回所需的字符串部分。最终,您应该像这样:$res = json_decode(substr($yourString,strpos($yourString,'{'),strpos($yourString,'}') - strpos($yourString,'{')+1),true);
打开App,查看更多内容
随时随地看视频慕课网APP