2

そのため、PHPサーバー検証でアプリ内課金を行っています。ただし、署名されたデータ文字列を PHP で個別の文字列に分割する方法がわかりません。PHP で $signedData を echo すると、次のようになります。

{\"nonce\":4658477652655443541,\"orders\":[{\"notificationId\":\"android.test.purchased\",\"orderId\":\"transactionId.android.test.purchased\",\"packageName\":\"com.coolboy.coolapp\",\"productId\":\"android.test.purchased\",\"purchaseTime\":1350913071409,\"purchaseState\":0}]}

PHPでナンス、オーダーなどをどのように分離して変数を分離しますか?

ありがとう

4

2 に答える 2

3

json_decode文字列をオブジェクトにデコードするために使用します。

このコード:

$str = "{\"nonce\":4658477652655443541,\"orders\":[{\"notificationId\":\"android.test.purchased\",\"orderId\":\"transactionId.android.test.purchased\",\"packageName\":\"com.coolboy.coolapp\",\"productId\":\"android.test.purchased\",\"purchaseTime\":1350913071409,\"purchaseState\":0}]}";
$json = json_decode($str);
var_dump($json);

プロデュース:

class stdClass#1 (2) {
  public $nonce =>
  double(4.6584776526554E+18)
  public $orders =>
  array(1) {
    [0] =>
    class stdClass#2 (6) {
      public $notificationId =>
      string(22) "android.test.purchased"
      public $orderId =>
      string(36) "transactionId.android.test.purchased"
      public $packageName =>
      string(19) "com.coolboy.coolapp"
      public $productId =>
      string(22) "android.test.purchased"
      public $purchaseTime =>
      double(1350913071409)
      public $purchaseState =>
      int(0)
    }
  }
}

そしてもちろん、次のことができます。

$nonce = $json->nonce;
$notificationId = $json->orders[0]->notificationId;
// etc...

JSON の詳細:

于 2012-10-22T16:21:29.390 に答える
2

それがJSONです。

$array = json_decode($var);
于 2012-10-22T16:21:34.717 に答える