PHP로 JSON 데이터를 생성하는 방법은 무엇입니까?
CREATE TABLE Posts
{
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200),
url VARCHAR(200)
}
json.code 코드
<?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
파일.
PHP에서 JSON을 생성하려면 json_encode()라는 함수 하나만 필요합니다.
데이터베이스 작업 시 먼저 모든 행을 배열로 가져와야 합니다.mysqli 샘플 코드입니다.
$sql="select * from Posts limit 20";
$result = $db->query($sql);
$posts = $result->fetch_all(MYSQLI_ASSOC);
이 어레이를 직접 사용하거나 다른 어레이의 일부로 만들 수 있습니다.
echo json_encode($posts);
// or
$response = json_encode([
'posts' => $posts,
]);
파일을 저장할 필요가 있는 경우,file_put_contents()
file_put_contents('myfile.json', json_encode($posts));
사용방법:
$json_data = json_encode($posts);
file_put_contents('myfile.json', $json_data);
스크립트를 실행하기 전에 myfile.json을 생성할 수 있습니다.그러나 전체 sudo 권한(읽기/쓰기 권한(Mac의 경우 For you))을 가진 경우에는 강제 사항이 아닙니다.
다음으로 작업 예를 제시하겠습니다.
<?php
// data stored in an array called posts
$posts = Array (
"0" => Array (
"id" => "01",
"title" => "Hello",
),
"1" => Array (
"id" => "02",
"title" => "Yoyo",
),
"2" => Array (
"id" => "03",
"title" => "I like Apples",
)
);
// encode array to json
$json = json_encode($posts);
$bytes = file_put_contents("myfile.json", $json); //generate json file
echo "Here is the myfile data $bytes.";
?>
가져온 값을 에코가 아닌 어레이에 삽입합니다.
사용하다file_put_contents()
및 삽입json_encode($rows)
그 파일에 포함시킬 수 있습니다.$rows
데이터입니다.
여기에서는 json 파일을 작성하고 json 파일 내의 배열 값을 예쁘게 인쇄하기 위한 간단한 syntex에 대해 설명했습니다.
$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);
잘 됐으면 좋겠는데...
동적 레코드를 풀링할 경우 매번 파일을 만들지 않고 json 표현을 만드는 php 파일을 1개 갖는 것이 좋습니다.
my_json.php
$array = array(
'title' => $title,
'url' => $url
);
echo json_encode($array);
다음으로 스크립트에서 파일의 경로를 설정합니다.my_json.php
php의 json_encode 함수를 사용하여 fopen, fwrite 등의 파일 처리 기능으로 파일을 저장할 수 있습니다.
먼저 디코딩을 해야 합니다.
$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);
PHP의 json 메서드를 사용하여 json을 만든 후 fwrite를 사용하여 파일에 씁니다.
언급URL : https://stackoverflow.com/questions/2467945/how-to-generate-json-data-with-php
'it-source' 카테고리의 다른 글
mariadb 노드 사용여러 쿼리를 사용하는 JS 커넥터 (0) | 2022.11.01 |
---|---|
MariaDB/SQL 레코드 수를 가져오는 가장 효율적인 방법 (0) | 2022.11.01 |
Laravel Archent를 사용하여 Multiple Where 절 쿼리를 작성하는 방법 (0) | 2022.11.01 |
작곡가를 어떻게 운영하죠? (0) | 2022.11.01 |
상대 Import - Module Not Found Error :x라는 이름의 모듈이 없습니다. (0) | 2022.11.01 |