2014-02-06 64 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我对我的要求。

相关问题