2014-02-06 107 views
0

這裏是我的PHP代碼片段的解析。解析JSON數據時出錯。 JSONException:在字符輸入結束

$result=mysql_query($qry); 

    $Json="{"; 
    for($i=1;$i<=$count;$i++) 
    { 
    $row = mysql_fetch_row($result) 
    $newRow=setJson($i,$row); 
    if($i!=$count) 
    $Json=$Json.$newRow.","; 
    else 
    $Json=$Json.$newRow; 
    } 
    $Json=$Json."}"; 

    $response["success"]=1; 
    $response["count"]=$count; 
    $response["rows"]=$Json; 

    echo json_encode($response); 

函數用於創建新行

function setJson($i,$row) 
{ 
$setRow="\""$i."\":[".$row."]"; 
return $setRow; 
} 

我已經開發了這個使用PHP。 我想解析MySQL結果爲以下格式。對於DB中的每一行。我需要在我的應用程序中將其更新到SQLite數據庫。

{ 
    "success":1, 
    "error":0, 
    "rows":{ 
      "1":["abc","123"], 
      "2":["xxx","909"], 
      "3":["bcn","1bc"] 
     } 
} 


{ 
    "tag": "syncMe", 
    "success": 1, 
    "error": 0, 
    "count": "8", 
    "rows": "{ 
\"1\":[\"Porotta\",\"22\",\"652+2\",\"veg\",\"dinner\"], 
\"2\":[\"chicken curry\",\"90\",\"sdaS\",\"veg\",\"dinner\"], 
\"3\":[\"Assd\",\"12\",\"looo\",\"veg\",\"dinner\"]}" 
} 

如何刪除JSON字符串中的斜線。

+0

在JSON末尾缺少}是一個錯誤,或者你忘了它? –

+0

@AdamRadomski for循環後我添加了「}」與$ Json變量。作爲$ Json = $ Json。「}」; –

回答

1

將結果傳遞給一個使用for循環的數組變量。

然後使用json_encode(array_variable);

將給予適當的JSON格式..

爲什麼你需要手動格式化自己。

你可以試試這個方式.. 注意:某些值我硬編碼..

for($i=1;$i<=$count;$i++) 
{ 
    $Json[$i]=array("abc","123"); 
} 
$response["success"]=1; 
    $response["count"]=3; 
    $response["rows"]=$Json; 

var_dump(json_encode($response)); 
+0

,我也試過,但它不能給我需要的格式。 –

+0

你需要什麼格式.. – Puttu

+0

我已經添加了它與我的問題..我需要使數據庫中的行爲JSONArrays與相應的行號與它。 –

0
function setJson($i,$row) 
{ 
$itemname=$row["item_name"]; 
$price=$row["price"]; 
$contents=$row["contents"]; 
$type=$row["type_of_item"]; 
$catagory=$row["catagory"]; 
//$setRow[]=array("\"".$i."\"" => $row); 
$setRow="\"".$i."\":[".$itemname."\",\"".$price."\",\"".$contents."\",\"".$type."\",\"".$catagory."\"]"; 
return $setRow; 
} 

這個函數解析JSON我對我的要求。

相關問題