2016-09-14 10 views
0

jsonデコード後にこの出力があります。JSON配列の解析PHP

Array 
     (
     [CJ] => stdClass Object 
      (
       [CID] => 1234 
       [TYPE] => type2222 
       [CURRENCY] => GBP 
       [OID] => 100000037 
       [DISCOUNT] => 0.00 
       [PRODUCTLIST] => Array 
        (
        [0] => stdClass Object 
         (
         [ITEM] => TEST_PRO_02-White-M 
         [QTY] => 2 
         [AMT] => 80.00 
         [DCNT] => 0.00 
         ) 

        [1] => stdClass Object 
         (
         [ITEM] => TEST_PRO_02-White-M 
         [QTY] => 2 
         [AMT] => 0.00 
         [DCNT] => 0.00 
        ) 

        [2] => stdClass Object 
         (
         [ITEM] => TEST_PRO_01-Pink 
         [QTY] => 1 
         [AMT] => 135.00 
         [DCNT] => 0.00 
        ) 

        [3] => stdClass Object 
         (
         [ITEM] => TEST_PRO_01-Pink 
         [QTY] => 1 
         [AMT] => 0.00 
         [DCNT] => 0.00 
        ) 

       ) 

     ) 

    ) 

iframeに値を入れる文字列を作成する必要があります。それは私に結果が与えません しかし、私はjsonの文字列に引用符を置く場合、それは私に必要な結果を与える。

$x=0; 
foreach ($obj->CJ->PRODUCTLIST as $productlist){ 


$item=$productlist->ITEM; 
$amount=$productlist->AMT; 
$qty=$productlist->QTY; 
$cj_string.="ITEM".$x."=$item&AMT".$x."=$amount&QTY".$x."=$qty&"; 
$x++;} 

それは私にエラーを解析する非オブジェクトPHPを提供します。どのように私は

item1=value&QTY1=value&AMT1=value&item2=value&QTY2=value&AMT2=value 

答えて

1

の形でPRODUCTLISTからの値は、あなたの質問のためのソリューションは、このなり、

$cjhelper = '{"CJ":{"CID":"1234","TYPE":"type2222","CURRENCY":"GBP","OID":"100000045","DISCOUNT":"0.00","PRODUCTLIST":[{"ITEM":"TEST_PRO_01-Pink","QTY":"1","AMT":"135.00","DCNT":"0.00"},{"ITEM":"TEST_PRO_01-Pink","QTY":"1","AMT":"0.00","DCNT":"0.00"}]}}'; 
$obj = json_decode($cjhelper); 

$x=1; 
$cj_string = ""; 
    foreach ($obj->CJ->PRODUCTLIST as $productlist){ 
    $item=$productlist->ITEM; 
    $amount=$productlist->AMT; 
    $qty=$productlist->QTY; 
     if($x!=1) $cj_string.= "&"; 
    $cj_string.="ITEM".$x."=$item&AMT".$x."=$amount&QTY".$x."=$qty"; 
    $x++; 
    } 

echo $cj_string; 

あなたの予想される出力は、私はすでにそれを試してみました

ITEM1=TEST_PRO_01-Pink&AMT1=135.00&QTY1=1&ITEM2=TEST_PRO_01-Pink&AMT2=0.00&QTY2=1 
+0

、それになり得るのですか私は構文解析エラー –

+0

ここにjsonの文字列を投稿することができます – Sasikumar

+0

cj-helper {"CJ":{"CID": "1234"、 "TYPE": "type2222"、 "CURRENCY": "GBP"、 "OID" "100000045"、 "割引": "0.00"、 "PRODUCTLIST":[{"ITEM": "T {ITEM ":" TEST_PRO_01-Pink "、" QTY ":" 1 "、" EST_PRO_01-Pink "、" QTY ":" 1 "、" AMT ":" 135.00 "、" DCNT " AMT ":" 0.00 "、" DCNT ":" 0.00 "}]}} –