2016-02-13 5 views
0

Я пытаюсь написать скрипт, как это, но я не знаю, как я могу сделать этоКак получить эту форму Json?

{ 
    "feed": [ 
     { 
      "id": 1, 
      "name": "National Geographic Channel", 
      "image": "http://api.androidhive.info/feed/img/cosmos.jpg", 
      "status": "\"Science is a beautiful and emotional human endeavor,\" says Brannon Braga, executive producer and director. \"And Cosmos is all about making science an experience.\"", 
      "profilePic": "http://api.androidhive.info/feed/img/nat.jpg", 
      "timeStamp": "1403375851930", 
      "url": null 
     }, 
     { 
      "id": 2, 
      "name": "TIME", 
      "image": "http://api.androidhive.info/feed/img/time_best.jpg", 
      "status": "30 years of Cirque du Soleil's best photos", 
      "profilePic": "http://api.androidhive.info/feed/img/time.png", 
      "timeStamp": "1403375851930", 
      "url": "http://ti.me/1qW8MLB" 
     } 
]} 

И это мой скрипт

<?php 

require ('config.php'); 
$conn = mysqli_connect($servername,$username,$password,$db); 
$query = "select * from playernews"; 

$result = mysqli_query($conn, $query); 
$rows = array(); 
echo mysqli_error($conn); 

while($row = mysqli_fetch_assoc($result)) { 
    $rows[] = $row; 
} 

echo json_encode($rows); 
?> 

Это мой PHP код сценария так если кто-нибудь может мне помочь?

+2

, что ваша проблема? –

+0

Помогите вам в чем? Вы хотите получить вышеупомянутый json из db? Вы проверили, возвращает ли запрос db действительный результат? – fusion3k

+0

Вы следуете этому руководству? http://www.androidhive.info/2014/06/android-facebook-like-custom-listview-feed-using-volley/ –

ответ

0
<?php 

require ('config.php'); 
$conn = mysqli_connect($servername, $username, $password, $db); 
$query = "select * from playernews"; 

$result = mysqli_query($conn, $query); 
$rows = array(); 
echo mysqli_error($conn); 

while($row = mysqli_fetch_assoc($result)) { 
    $rows[]=$row; 
} 

$data = array(
    'feed' => $rows 
); 

echo json_encode($data); // now will get you same format as you wanted 
?> 
+0

Сэр это даст мне эту форму {"feed": {"id": "1", "name": "National Geographic Channel", "image": "http: \/\/api.androidhive.info \ /feed\/img\/cosmos.jpg","status":"\\\ «Наука - это красивое и эмоциональное человеческое стремление, \\\" говорит Брэннон Брага, исполнительный продюсер и режиссер. \\\ "И Космос все о том, чтобы сделать науку опытом. \\\ "", "profilePic": "http: \/\/api.androidhive.info \/feed \/img \ /nat.jpg", "TimeStamp": "2016-02 -26 03:14:00 "," url ":" http: \/\/ti.me \/1qW8MLB "," PlayerNo ":" 1 "}} –

+0

Я не уверен, что это может быть. Протестировано и работает для меня в большинстве версий php, как показано на http://sandbox.onlinephpfunctions.com/code/21af0f6c0ae414fdaf072ba356b7ed1150b9d788 –

0

Прежде всего, вы не должны этого делать. JSON предназначен для передачи данных из одной системы в другую, а не как среда отладки или выходной формат. Дополнительные пробелы не будут способствовать главной цели JSON.

Это, пожалуйста, посмотрите the docs for json_encode.

Существует вариант JSON_PRETTY_PRINT, который можно передать в функцию, и это должно помочь вам достичь того, чего вы хотите:

json_encode($rows, JSON_PRETTY_PRINT); 
+0

Извините, я немного тупой, но я не понимаю, где «дополнительные пробелы» " – fusion3k

+0

Ну, JSON_PRETTY_PRINT отделяет строку JSON четырьмя пробелами, чтобы сделать ее красивой. Эти пространства не нужны исключительно с точки зрения системы, использующей JSON. Это делает строку длиннее, чем она должна быть. – Timo

+0

Я знаю константу JSON_PRETTY_PRINT, и я знаю, что они расширяют строку. Я не понимаю, когда вы говорите: «Дополнительные пробелы не будут способствовать главной цели JSON», а затем «(используйте) JSON_PRETTY_PRINT». Проще говоря, я не полностью понимаю логику вашей аргументации. Обратите внимание, что мой английский плохой, если мое объяснение звучит неодобрительно, это не мое намерение. Кстати, я был заинтересован только в том, чтобы понять вашу аргументацию, извините, если я заставил вас тратить время. <3 – fusion3k

Смежные вопросы