2015-07-20 99 views
1

首先,我必须承认,我在处理JSON方面相当糟糕。我需要为一个困扰我两周左右的问题寻求帮助。所以,我正在尝试为iOS/Android应用程序创建基本的Web服务。我遵循App开发人员给出的指示来正确创建API。一切似乎都很容易,直到我达到了创建getContents.php的程度。 这是我获取并回传数据的PHP代码:JSON复杂格式

<?php 
header('content-type:application/json;'); 
$article_id = $_GET["ArticleID"]; 


$link = mysql_connect('localhost','bridgeapp_user','') or die('Cannot connect to the DB'); 
mysql_select_db('bridgeapp',$link) or die('Cannot select the DB'); 


mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $link); 


if (isset($article_id)) { 
    $query = "SELECT description AS `content`, 'http://offercat.com/media/com_jbusinessdirectory/pictures'+logoLocation AS `images` FROM vrfmp_jbusinessdirectory_companies WHERE id = '".$article_id. "'"; 
    $result = mysql_query($query,$link) or die('Errant query: '.$query); 

} 

$rows = array(); 
while($r = mysql_fetch_assoc($result)) { 
    $rows[] = $r; 
// $rows = str_replace("name", "title", "$rows"); 
} 

echo json_encode($rows); 

@mysql_close($link); 

我从代码得到的是这样的:

[{"content":"<p>asdasdasd<\/p>","images":"0"}] 

而我想获得看起来是这样的:

{ 
"content": "<p><img src=\"http://toolbox.acsoft.gr/acblog/images/digidiet/digidiet_screenshots.png\" alt=\"DigiDiet Screenshots\" width=\"100%\"/></p><p>Το <a href=\"http://www.digidiet.gr\" target=\"_blank\">DigiDiet</a> ήρθε για να σας βοηθήσει στην προσπάθειά σας για μια ισορροπημένη διατροφή που θα οδηγήσει στην απώλεια βάρους, με την καθοδήγηση εξειδικευμένων επιστημονικών συνεργατών.</p><p>Πρόκειται για μια πλατφόρμα που αναπτύχθηκε και εξελίσσεται συνεχώς από τις <a href=\"http://www.acsoft.gr\">ACSoft</a>, <a href=\"http://www.cwi.gr\" target=\"_blank\">CWI</a> και <a href=\"http://www.digiapps.gr\" target=\"_blank\">DigiApps</a>, εταιρείες που δραστηριοποιούνται στο χώρο της τεχνολογίας και της ανάπτυξης λογισμικού.</p><p>Απευθύνεται σε όσους:</p><p><ul><li>Βρίσκονται σε διαδικασία απώλειας βάρους</li><li>Δυσκολεύονται να τηρήσουν ένα σωστό διαιτολόγιο</li><li>Έχουν μεταβλητά ωράρια εργασίας και απαιτητικές επαγγελματικές υποχρεώσεις που επηρεάζουν τη σωστή διατροφή</li><li>Ξεχνούν να καταναλώσουν το σωστό γεύμα την κατάλληλη ώρα</li><li>Αθλούνται συστηματικά και χρειάζονται συνεχή παρακολούθηση και καθοδήγηση στα πλαίσια της καθημερινής διατροφής τους</li><li>Αναρρώνουν από κάποιο πρόβλημα υγείας και πρέπει να τηρήσουν συγκεκριμένο διαιτολόγιο, με την καθοδήγηση κάποιου εξειδικευμένου ιατρού</li></ul></p><p>Η εφαρμογή δημιουργήθηκε από την <a href=\"http://www.acsoft.gr\">ACSoft</a> και μπορείτε να την κατεβάσετε <strong>ΔΩΡΕΑΝ</strong> στο κινητό σας από το Apple AppStore.</p><p>Σύντομα θα είναι διαθέσιμη και η αντίστοιχη έκδοση για το Android στο Google PlayStore.</p><p><a href=\"https://itunes.apple.com/gr/app/digidiet/id761559243?mt=8&uo=4\" style=\"margin-right:10px;\" target=\"_blank\"><img alt=\"\" src=\"http://toolbox.acsoft.gr/acblog/images/AppStore.png\" /></a></p>", 
"social_link": "http://www.acsoft.gr/index.php/blog/apps/13-digidiet-app", 
"images": [ 
    "http://toolbox.acsoft.gr/acblog/images/digidiet/digidiet_photo1.png", 
    "http://toolbox.acsoft.gr/acblog/images/digidiet/digidiet_photo2.png", 
    "http://toolbox.acsoft.gr/acblog/images/digidiet/digidiet_photo3.png", 
    "http://toolbox.acsoft.gr/acblog/images/digidiet/digidiet_photo4.png", 
    "http://toolbox.acsoft.gr/acblog/images/digidiet/digidiet_photo5.png" 
]} 

关于如何实现这一点的任何想法? 提前谢谢!

+0

可以显示的'vrfmp_jbusinessdirectory_companies' –

+0

'social_link'这是不对的,那是什么网址? ''SELECT说明AS内容,'http://offercat.com/media/com_jbusinessdirectory/pictures'+logoLocation AS images' –

+0

模式,则您不能选择从数据库 –

回答

3
$rows = array(); 
while($r = mysql_fetch_assoc($result)) { 

$images[]=$r['images']; 


} 
$social="some content here"; 

$content="some content here "; 

$rows=array("content"=>$content,"social_link"=>$social,"images"=>$images); 

echo json_encode($rows); 
+0

保存我的一天,非常感谢! –