我正在尝试在我的网站中显示json
。 JSON
的格式应该正确,但它是换行的。
目前是:
{"ids":[{"id":"52","name":"''u0633''u0633''u064a john",":" ''u0635''u0628''u064a","国籍":"德语"},{"id":"50","姓名":"''u0645''u062d''u0645''u062f 斯贾贾 ha",":"''u0630''u0643''u0631","国籍":"''u0628''u062d''u0631''u0627''u0646''u064a"}],"成功":1}
虽然应该是这样的:
{
"success": 1,
"product": [
{
"pid": "1",
"name": "iPHone 4S",
"price": "300.00",
"description": "iPhone 4S white",
"created_at": "2012-04-29 01:41:42",
"updated_at": "0000-00-00 00:00:00"
}
]
}
这是我的PHP代码:
<html>
<head>
<title>Send and Rec data to Android Device</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<?php
/*
* Following code will list all the ids
*/
$db = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $db);
mysql_set_charset('utf8', $db);
$charset = mysql_client_encoding($db);
// array for JSON response
$response = array();
// include db connect class
// connecting to db
// get all ids from ids table
$result = mysql_query("SELECT * FROM people") or die(mysql_error());
// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// ids node
$response["ids"] = array();
while ($row = mysql_fetch_array($result)) {
// temp user array
$idd = array();
$idd["id"] = $row["id"];
$idd["name"] = $row["name"];
$idd["sex"] = $row["sex"];
$idd["nationality"] = $row["nationality"];
// push single idd into final response array
array_push($response["ids"], $idd);
}
// success
$response["success"] = 1;
// echoing JSON response
echo json_encode($response);
} else {
// no ids found
$response["success"] = 0;
$response["message"] = "No ids found";
// echo no users JSON
echo json_encode($response);
}
?>
</body>
</html>
在 php 5.4.0+ 中,您有JSON_PRETTY_PRINT选项来打印带有缩进的 JSON(易于阅读的格式)。
echo json_encode($json, JSON_PRETTY_PRINT);
参考: http://www.php.net/manual/en/function.json-encode.php#refsect1-function.json-encode-changelog
但是您必须在文本区域或pre标签中打印它们。
echo '<pre>'.json_encode($json, JSON_PRETTY_PRINT).'</pre>';
//or
echo '<textarea cols="50" rows="20">'.json_encode($json, JSON_PRETTY_PRINT).'</textarea>';