it-source

PHP로 JSON 데이터를 생성하는 방법은 무엇입니까?

criticalcode 2022. 11. 1. 00:01
반응형

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

반응형