删除json_encode / PHP中的双引号

时间:2014-03-13 03:55:05

标签: php json string

我需要一些JSON和PHP的帮助。这是我在PHP中的代码:

include 'class.Connection.php';

$branch = $_GET["b"];   
$records = array();

$sqlNailDisplay = "SELECT NAD_ID FROM tbl_NailArtDesign WHERE NAD_Available = 1";
$query0 = mysql_query($sqlNailDisplay) or die(mysql_error());
while($rSet0 = mysql_fetch_array($query0, MYSQL_BOTH)) {

    $actualPrice = 0.00;
$nailart = $rSet0["NAD_ID"];
//please note, { is the ascii code for '{', } is the ascii code for '}', while " is the ascii code for '"'
$mergedData = "{"NAD_ID":"".$nailart."","";

//individual nail art details
$sqlNailArt = "SELECT * FROM tbl_NailArtDesign WHERE NAD_ID = '".$nailart."' AND NAD_Available = 1";
$query1 = mysql_query($sqlNailArt) or die(mysql_error());
while($rSet1 = mysql_fetch_array($query1, MYSQL_BOTH)) {
    $NAD_Ext = $rSet1["NAD_Ext"];
    $CC_ID = $rSet1["CC_ID"];
    $CT_ID = $rSet1["CT_ID"];
    $CST_ID = $rSet1["CST_ID"];
    if(empty($CST_ID)) {
    $CST_ID = "null";
    }
    $NAD_Descrip = $rSet1["NAD_Descrip"];

    $mergedData = $mergedData."NAD_Ext":"".$NAD_Ext."","CC_ID":"".$CC_ID."","CT_ID":"".$CT_ID."","CST_ID":"".$CST_ID."","NAD_Descrip":"".$NAD_Descrip."","";
    }

//product used and price details
$sqlProductsUsed = "SELECT PL_ID FROM tbl_ProductUsed WHERE NAD_ID = '".$nailart."'";
$query2 = mysql_query($sqlProductsUsed) or die(mysql_error());
while($rSet2 = mysql_fetch_array($query2, MYSQL_BOTH)) {
    $PL_ID = $rSet2["PL_ID"];
    $sqlProductPrice = "SELECT PP_Amount FROM tbl_ProductPrice WHERE PL_ID = ".$PL_ID." AND BL_ID = '".$branch."'";
    $query3 = mysql_query($sqlProductPrice) or die(mysql_error());
    while($rSet3 = mysql_fetch_array($query3, MYSQL_BOTH)) {
    $price = number_format($rSet3["PP_Amount"],2);
    $actualPrice = number_format($actualPrice + $price,2);
    }           
    $mergedData = $mergedData."PL_ID":"".$PL_ID."","PP_Amount":"".$price."","";
}
$mergedData = $mergedData."NAD_Price":"".$actualPrice.""}";

$records[] = $mergedData;

} mysql_free_result($query0);

echo json_encode($records);

这就是我得到的结果:

["{"NAD_ID":"ND0001","NAD_Ext":"jpg","CC_ID":"1","CT_ID":"1","CST_ID":"null","NAD_Descrip":"Giving you the aquatic feeling with Turquoise Marble","PL_ID":"1","PP_Amount":"9.00","PL_ID":"2","PP_Amount":"9.10","PL_ID":"3","PP_Amount":"9.00","NAD_Price":"27.10"}","{"NAD_ID":"ND0002","NAD_Ext":"jpg","CC_ID":"1","CT_ID":"1","CST_ID":"null","NAD_Descrip":"Add a twirl in your life with Lavender Twirl","PL_ID":"1","PP_Amount":"9.00","PL_ID":"2","PP_Amount":"9.10","PL_ID":"3","PP_Amount":"9.00","NAD_Price":"27.10"}"]

我需要我的结果看起来像这样:

[{"NAD_ID":"ND0001","NAD_Ext":"jpg","CC_ID":"1","CT_ID":"1","CST_ID":"null","NAD_Descrip":"Giving you the aquatic feeling with Turquoise Marble","PL_ID":"1","PP_Amount":"9.00","PL_ID":"2","PP_Amount":"9.10","PL_ID":"3","PP_Amount":"9.00","NAD_Price":"27.10"},{"NAD_ID":"ND0002","NAD_Ext":"jpg","CC_ID":"1","CT_ID":"1","CST_ID":"null","NAD_Descrip":"Add a twirl in your life with Lavender Twirl","PL_ID":"1","PP_Amount":"9.00","PL_ID":"2","PP_Amount":"9.10","PL_ID":"3","PP_Amount":"9.00","NAD_Price":"27.10"}]

我需要从输出中删除额外的双引号。

[" {" ," ,* " *,} " ]

请帮助,我已经达到了我的极限,而且我已经搜索过了,我似乎无法获得任何解决方案......

1 个答案:

答案 0 :(得分:1)

硬编码方法:

$result = "[".substr(json_encode($records), 2, -2)."]";
$result = str_replace('","', ',', $result);