$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