我不熟悉PHP和JSON,但需要它用于我的Android项目。JSON编码的最佳格式?
我很困惑哪个JSON格式是最有效的。大多数例子我看到通过使用此代码使用关联阵列:
$result = mysql_query($queryString)
while($row = mysql_fetch_assoc($result)){
$json['contact']['ID'] = $row['ID'];
$json['contact']['Name'] = $row['Name'];
}
格式#1
{"contact":{"ID":"1","Name":"Andy"}}
我喜欢这样的格式,但我不知道如何使每个键容纳更多比一个值。所以当我的查询返回Andy和Bob,json将只包含Bob。
然后,我发现这个PHP代码:
while($row = mysql_fetch_row($result)){
$json['contact'][] = $row;
}
echo json_encode($json);
它使JSON看起来是这样的:
格式#2
{"contact":[["1","Andy"],["2","Bob"]]}
但是在Android中,没有JSONObject
方法至getArray()
。即使有,我也想避免使用编号为的编号为的数组,要求调用[0]
或[1]
。
那么,哪一个更好?还是其他的选择?
感谢
** Heads up!** PHP的下一个主要版本是*弃用* mysql_'系列函数。现在将是[切换到PDO](http://php.net/book.pdo)或[mysqli](http://php.net/book.mysqli)的好时机。 – Charles
@Charles谢谢,可以'mysqli_result :: fetch_array'采用与'mysql_fetch_array'相同的参数吗?我对PHP很陌生,所以我不太理解文档 – hrsetyono
相同的参数,不同的顺序 - 连接*总是*在mysqli_中首先出现。如果你打算使用mysqli而不是PDO,一定要阅读[mysqli prepared statements的文档](http://php.net/mysqli.quickstart.prepared-statements)。他们比PDO中的使用者更加痛苦。 – Charles