用所需格式生成json的问题

时间:2016-10-15 18:58:11

标签: php json

我第一次使用JSON练习Android应用程序项目。我找到了一个教程,其中使用了一个现成的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."
} 
]
}

我遵循了教程,并且能够像在视频中一样工作。甚至添加了我自己的一些想法和应用程序正常工作。

现在我正在尝试使用php rest api生成自己的json。我从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);

如何以正确的格式获取它?

1 个答案:

答案 0 :(得分:0)

我找到了问题的答案!!用php编写json的不同方法播放了一段时间并反复在postman中发布后,我明白了!

我现在正在这样做:

  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编码函数发送 $ response 数组,只需在应用程序中解析它!这个问题解决了我!如果任何人有更好的解决方案,我愿意接受新的甚至是完美的/适当的解决方案!

谢谢大家!