2016-10-15 7 views
1

私は、練習のアンドロイドアプリケーションプロジェクトで初めてJSONを使って作業しています。希望のフォーマットのPHPを使ってjsonを生成する際に問題が発生する

{ 
    "movies": [ 
{ 
    "movie": "Avengers", 
    "year": 2012, 
    "rating": 7.8, 
    "duration": "141 min", 
    "director": "Joss Whedon", 
    "tagline": "A new age begins", 
    "cast": [ 
    { 
     "name": "Robert Downey Jr." 
    }, 
    { 
     "name": "Chris Evans" 
    }, 
    { 
     "name": "Mark Ruffalo" 
    } 
    ], 
    "image": "http://jsonparsing.parseapp.com/jsonData/images/avengers.jpg", 
    "story": "When Tony Stark and Bruce Banner try to jump-start a dormant peacekeeping program called Ultron, things go horribly wrong and it's up to Earth's Mightiest Heroes to stop the villainous Ultron from enacting his terrible plans." 
} 
] 
} 

私はチュートリアルに続き、それが動画のように動作させることができた:私は準備ができてJSON文字列は次のようになりますが使用されるチュートリアルを発見しました。それに私のアイデアのいくつかを追加しても、アプリは適切に機能しました。

今、私は自分のjsonをphp rest APIを使って生成しようとしています。私はmysqlテーブルから4行を取得し、アプリケーションにjsonとしてデータを送信しています。しかし、私が生成しているjsonは、チュートリアルと同じ形式ではありません。 ここに私のJSON

{ 
    "0": { 
"student_fees_id": "23", 
"enrollment_number": "1703", 
"semester_id": "3", 
"fees_type_id": "4", 
"paid_amount": "10000", 
"balance_amount": "30000", 
"status": "Pending", 
"timestamp": "13 Aug 2016 @ 14:15:21" 
    },} 

であり、これは私がそれを生成しています方法です:

$query = "SELECT * FROM `student_fees` WHERE `enrollment_number` = '$er_id' ORDER BY `student_fees_id` DESC"; 
if($query_run= mysql_query($query)){ 


while($r = mysql_fetch_assoc($query_run)){ 
    $response[]=$r; 
} 
echo json_encode($response,JSON_FORCE_OBJECT); 

はどうすれば適切な形式でそれを得るのですか?

答えて

0

そして、私の質問に対する答えが見つかりました! phpでjsonをエンコーディングし、郵便配達で繰り返し投稿するという別の方法でしばらく再生した後、私はそれを手に入れました!

私は今、これをやっている:

for($i=0; $i<$row; $i++){ 

    $response[$i]['student_id'] = mysql_result($query_run, $i, 'student_id'); 
    $response[$i]['enrollment_number'] = mysql_result($query_run, $i, 'enrollment_number'); 

} 

をし、私は、JSONエンコード機能により$応答配列を送信し、単にアプリでそれを解析!この問題は私のために解決されました!もし誰かがより良い解決策を持っていれば、私は新しい、または完璧な/適切な解決策にもオープンしています!

ありがとう皆さん!

関連する問題