2017-03-22 52 views
0

我正在开发一个Android应用程序,我对所有这些都是新手。我的数据存储在Web服务器的MySQL中,我使用PHP脚本从MySQL读取数据并将其转换为JSON字符串,然后通过我的移动应用中的Android JSON对象访问。所有工作正常,直到我在我的MySQL数据库中有多个段落。当我使用PHP读取MySQL数据并将其转换为JSON字符串时,所有段落成为一个大段落。 Android应用程序正在正确读取数据,但问题是我仍然需要读取存储在MySQL数据库中的多个段落。任何人都可以引导我走向正确的方向吗?帮助将不胜感激。阅读JSON/PHP/Android中的段落

下面是我用PHP读取MySQL数据并将其转换为JSON字符串的脚本文件。

连接文件:

<?php 
$db_name = "myDbName"; 
$mysql_username = "db_user"; 
$mysql_password = "db_password"; 
$server_name = "serverName"; 

$conn = mysqli_connect($server_name, $mysql_username, $mysql_password, $db_name); 


$sSQL= 'SET CHARACTER SET utf8'; 

mysqli_query($conn, $sSQL) or die ('Can\'t charset in DataBase'); 

if(!$conn) 
{ 
    die("Connection failed:" . mysqli_error($conn)); 
} 

?> 

的Json丁文文件:

<?php 
require "conn.php"; 

$sql_qry = "SELECT * FROM tabITArticles;"; 

$result = mysqli_query($conn, $sql_qry); 

$response = array(); 

while($row = mysqli_fetch_array($result)){ 

array_push($response, array("id"=>$row[0],"title"=>$row[1],"author"=>$row[2],"content"=>$row[3],"image"=>$row[4],"date"=>$row[5])); 
} 

echo json_encode(array("server_response"=>$response)); 

mysqli_close($conn); 
?> 

回答

1

有一些事情可以做,以保持段落。

当从数据库中检索,你可以做的信息:

$arr = explode(PHP_EOL, $row[3]); 

这将在一个数组分割字符串,然后你就可以将它传递。然后你在android中以数组的形式检索它。

另一种选择是使用类似\n\r的组合编码php中的新行。

$str= str_replace(PHP_EOL, '\n', $row[3]); 

然后在android中,您可以拆分字符串并将其存储在数组中。

String[] str= stringfromjson.split("\n");