2017-01-09 5 views
0

PHP配列を使用してJSON文字列に出力しています。私はjson形式で "0"に変換して、 "items"と呼んでいます。これをoracle dbにインポートする際には、ゼロの代わりに名前が必要であると言います。索引(0、1、2)を項目と呼ぶように変更すると、正常に機能します。Jsonファイルの名前に "0"を変更します

ここにはPHP配列があり、jsonとして出力しています。ここで

$data = array(

         'INDIVIDUAL_SALUTATION' => $salution, 
         'INDIVIDUAL_FIRST_NAME' => $firstname, 
         'INDIVIDUAL_LAST_NAME' => $lastname, 
         'GENDER' => $gender, 
         'DATE_OF_BIRTH' => $result['Birthday'], 
         'EMAIL_ID' => $result['Email'], 
         'MOBILE_NUMBER' =>$result['Phone'], 
         'MOBILE_COUNTRY_CODE' => substr($result['Phone'], 1, 3), 
         'OCCUPATION' => null, 
         'OCCUPATION_STATUS' => null, 
         'ADDRESS_LINE1' => $result['Address_street'], 
         'TOWN' => $result['Address_city'], 
         'POSTAL_CODE' => $result['Address_zip'], 
         'COUNTRY' => $result['country_name'], 
         'CUSTOMER_NUMBER' => $result['Owner'], 
         'POLICY_START_DATE' => $result['paid_thru_date'], 
         'POLICY_END_DATE' => $result['duedate'], 
         'LOAN_AGREEMENT_NUMBER' => $result['ORIG_ID'], 
         'REPAYABLE_AMOUNT' => $result['repayable_amount'], 
         'FINANCE_TERM_MONTHS' => $result['finance_term_months'], 
         'MONTHLY_INSTALLMENT' => $result['monthly_installment'], 
         'AMOUNT_INSURED' => $result['amount_insured'], 
         'CURRENCY_ID' => $result['Abbreviation'] 
        ); 

        $jsonArray[] = $data; 
       } 
       $mainInfo = array(
          'SRC_NAME' => 'AEX', 
          "RUN_NUMBER" => 1, 
          "RUN_DATE" => date("Ymd"), 
          "RUN_NO_OF_RECORDS" => $arrayCount, 
          "YTD_NO_OF_RECORDS" => $arrayCount 
         ); 

       $finalArray = array_merge($jsonArray , $mainInfo); 

       $this->output->set_content_type('application/json'); 
       $this->output->set_output(json_encode($finalArray)); 


$this->output->set_content_type('application/json'); 
$this->output->set_output(json_encode($mainInfo)); 

私がやろうとしていますどのような出力

{ 
    "0":{ 
     "INDIVIDUAL_SALUTATION":"MR", 
     "INDIVIDUAL_FIRST_NAME":"borrower", 
     "INDIVIDUAL_LAST_NAME":"three", 
     "GENDER":"M", 
     "DATE_OF_BIRTH":"1993-09-17", 
     "EMAIL_ID":"[email protected]", 
     "MOBILE_NUMBER":"+3581466144569", 
     "MOBILE_COUNTRY_CODE":"358", 
     "OCCUPATION":null, 
     "OCCUPATION_STATUS":null, 
     "ADDRESS_LINE1":"Vaskivuorentie 22B", 
     "TOWN":"Vantaa", 
     "POSTAL_CODE":"01600", 
     "COUNTRY":"Finland", 
     "CUSTOMER_NUMBER":"772", 
     "POLICY_START_DATE":"2017-01-02", 
     "POLICY_END_DATE":"2017-07-01", 
     "LOAN_AGREEMENT_NUMBER":"7", 
     "REPAYABLE_AMOUNT":"50.42", 
     "FINANCE_TERM_MONTHS":"6", 
     "MONTHLY_INSTALLMENT":"8.40", 
     "AMOUNT_INSURED":"50.42", 
     "CURRENCY_ID":"EUR" 
    }, 
    "1":{ 
     "INDIVIDUAL_SALUTATION":"MR", 
     "INDIVIDUAL_FIRST_NAME":"borrower", 
     "INDIVIDUAL_LAST_NAME":"three", 
     "GENDER":"M", 
     "DATE_OF_BIRTH":"1993-09-17", 
     "EMAIL_ID":"[email protected]", 
     "MOBILE_NUMBER":"+3581466144569", 
     "MOBILE_COUNTRY_CODE":"358", 
     "OCCUPATION":null, 
     "OCCUPATION_STATUS":null, 
     "ADDRESS_LINE1":"Vaskivuorentie 22B", 
     "TOWN":"Vantaa", 
     "POSTAL_CODE":"01600", 
     "COUNTRY":"Finland", 
     "CUSTOMER_NUMBER":"772", 
     "POLICY_START_DATE":"2017-01-02", 
     "POLICY_END_DATE":"2017-07-01", 
     "LOAN_AGREEMENT_NUMBER":"9", 
     "REPAYABLE_AMOUNT":"40.35", 
     "FINANCE_TERM_MONTHS":"6", 
     "MONTHLY_INSTALLMENT":"6.73", 
     "AMOUNT_INSURED":"40.35", 
     "CURRENCY_ID":"EUR" 
    }, 
    "2":{ 
     "INDIVIDUAL_SALUTATION":"MR", 
     "INDIVIDUAL_FIRST_NAME":"borrower", 
     "INDIVIDUAL_LAST_NAME":"two", 
     "GENDER":"M", 
     "DATE_OF_BIRTH":"1993-09-17", 
     "EMAIL_ID":"[email protected]", 
     "MOBILE_NUMBER":"+358466144569123", 
     "MOBILE_COUNTRY_CODE":"358", 
     "OCCUPATION":null, 
     "OCCUPATION_STATUS":null, 
     "ADDRESS_LINE1":"Vaskivuorentie 22B", 
     "TOWN":"Vantaa", 
     "POSTAL_CODE":"01600", 
     "COUNTRY":"Finland", 
     "CUSTOMER_NUMBER":"770", 
     "POLICY_START_DATE":"2017-01-02", 
     "POLICY_END_DATE":"2017-07-01", 
     "LOAN_AGREEMENT_NUMBER":"11", 
     "REPAYABLE_AMOUNT":"99.84", 
     "FINANCE_TERM_MONTHS":"6", 
     "MONTHLY_INSTALLMENT":"16.64", 
     "AMOUNT_INSURED":"99.84", 
     "CURRENCY_ID":"EUR" 
    }, 
    "RUN_NUMBER":1, 
    "RUN_DATE":"20170109" 
} 

は、それが代わりの0のように見えるようです'items' : {}を持ち、その後に移動するので、私は、Oracleにインポートすることができます。 これをPHPでどのように実現できますか?

$mainInfo['items'] = $jsonArray; 
$this->output->set_output(json_encode($mainInfo)); 

答えて

2

$mainInfoの要素に配列を入れ、array_mergeを使用しないでください。

希望があれば

1

インデックス変数を作成し、そこにゼロ

$index = 0

を作成し、この$jsonArray['item' .$index++] = $data;にこの$jsonArray[] = $data;を変更:

関連する問題