$data = "<QRYRESULT>
<ISSUCCESS>Y</ISSUCCESS>
<EBLCUSTOMER ACCOUNTNO='11111'>
<CUSTACCTNO>121212</CUSTACCTNO>
<ACCTSTATUS>active</ACCTSTATUS>
<CCYDESC>BDT</CCYDESC>
<BALANCE>9999</BALANCE>
<AVAILABLEBALANCE>99</AVAILABLEBALANCE>
<CUSTOMERNAME>cus_name</CUSTOMERNAME>
<AMOUNTONHOLD>1000</AMOUNTONHOLD>
<ODLIMIT>99</ODLIMIT>
</EBLCUSTOMER>
</QRYRESULT>";
這是我想要轉換的XML字符串。我已經使用了下面的代碼。XML到JSON轉換在PHP SimpleXML
$result = str_replace(array("\n", "\r", "\t"), '', $data);
$xml = simplexml_load_string($result);
$object = new stdclass();
$object->webservice[] = $xml;
$result = json_encode($object);
header('content-Type: application/json');
echo $result;
我得到以下json數據。
{
"webservice": [
{
"ISSUCCESS": "Y",
"CUSTSUMMARY": {
"@attributes": {
"ACCOUNT": "11111"
},
"IDACCOUNT": "1010101",
"CODACCTCURR": "BDT",
"NUMBALANCE": "99999",
"ACCTDESC": "22222",
"PRDNAME": "name"
}
}
]
}
但我不想「@attributes」。我想要輸出如下:
{
"QRYRESULT": {
"ISSUCCESS": "Y",
"EBLCUSTOMER": {
"-ACCOUNTNO": "11111",
"CUSTACCTNO": "121212",
"ACCTSTATUS": "active",
"CCYDESC": "BDT",
"BALANCE": "9999",
"AVAILABLEBALANCE": "99",
"CUSTOMERNAME": "cus_name",
"AMOUNTONHOLD": "1000",
"ODLIMIT": "99"
}
}
}
我該怎麼做?
,因爲我用笨框架我所做的是在我的控制器類寫的jsonSerialize()函數,並把它稱爲從功能中,我我正在使用XML進行json轉換,如$ xml = $ this-> jsonSerialize();然後我的代碼的其餘部分,但我得到以下錯誤:'致命錯誤:調用未定義的方法CI_Benchmark :: attributes()@hakre – Ishrak
試着讓它在沒有Codeigniter的情況下運行,以便您可以檢查它是否工作。類名** CI_Benchmark **可能表明某些內容與Codeigniter混合並在此時引起誤解。 – hakre