Как создать файл .json с помощью PHP? - PullRequest
114 голосов
/ 18 марта 2010
CREATE TABLE Posts
{
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200),
url VARCHAR(200)
}

код json.php

<?php
$sql=mysql_query("select * from Posts limit 20");
echo '{"posts": [';
while($row=mysql_fetch_array($sql))
{
$title=$row['title'];
$url=$row['url'];
echo '

{

"title":"'.$title.'",

"url":"'.$url.'"

},'; 
}
echo ']}';

?>

Мне нужно сгенерировать results.json файл.

Ответы [ 8 ]

219 голосов
/ 18 марта 2010

Вот пример кода:

<?php 
$sql="select * from Posts limit 20"; 

$response = array();
$posts = array();
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)) { 
  $title=$row['title']; 
  $url=$row['url']; 

  $posts[] = array('title'=> $title, 'url'=> $url);
} 

$response['posts'] = $posts;

$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);


?> 
34 голосов
/ 28 января 2017

Используйте это:

$json_data = json_encode($posts);
file_put_contents('myfile.json', $json_data);

Вы должны создать myfile.json перед запуском скрипта.

28 голосов
/ 18 марта 2010

Вставьте полученные значения в массив вместо эхо.

Используйте file_put_contents() и вставьте json_encode($rows) в этот файл, если $rows - ваши данные.

6 голосов
/ 19 сентября 2017

Здесь я упомянул простой синтаксис для создания json-файла и печати значения массива внутри json файла довольно красиво.

$array = array('name' => $name,'id' => $id,'url' => $url);
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($array, JSON_PRETTY_PRINT));   //here it will print the array pretty
fclose($fp);

Надеюсь, у вас все получится ....

6 голосов
/ 20 июля 2012

Если вы извлекаете динамические записи, лучше иметь 1 файл php, который создает представление json, а не каждый раз создавать файл.

my_json.php

$array = array(
    'title' => $title,
    'url' => $url
);

echo stripslashes(json_encode($array)); 

Затем в вашем скрипте укажите путь к файлу my_json.php

6 голосов
/ 18 марта 2010

Вы можете просто использовать json_encode функцию php и сохранять файл с такими функциями обработки файлов, как fopen и FWRITE .

6 голосов
/ 18 марта 2010

Используйте PHP json методы , чтобы создать json, затем запишите его в файл с fwrite .

5 голосов
/ 15 декабря 2017

Сначала вам нужно его расшифровать:

$jsonString = file_get_contents('jsonFile.json');
$data = json_decode($jsonString, true);

Затем измените данные:

$data[0]['activity_name'] = "TENNIS";
// or if you want to change all entries with activity_code "1"
foreach ($data as $key => $entry) {
    if ($entry['activity_code'] == '1') {
        $data[$key]['activity_name'] = "TENNIS";
    }
}

Затем перекодируйте его и сохраните обратно в файл:

$newJsonString = json_encode($data);
file_put_contents('jsonFile.json', $newJsonString);

копия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...