[英]Creating JSON from PHP in a certain output format
我需要使用 PHP 從數據庫中創建 JSON 文件,但是將使用 JSON 文件的人希望它采用某種格式。 當我使用 json_encode 執行此操作時,output 就像:
[{"pid":"76","language":"en","name":"Some name"},{"pid":"77","language":"en","name":"Some other name"}]
但是,他們想要這樣:
{"pid":"76","language":"en","name":"Some name"}
{"pid":"77","language":"en","name":"Some other name"}
所以他們不希望開頭和結尾的“[”和“]”,他們不希望 {},{} 之間的“,”,他們希望每個 {} 都在新行中。
這是我可以用 PHP 做的事情嗎? 有沒有辦法可以做到這一點?
你被要求的不是有效的 JSON。 但是每一行都是有效的JSON,所以如果逐行讀取文件,每一行都可以解碼。
你需要做的就是循環遍歷你開始的數組和 output 每個元素,json_encoded,在一個新的行上。
像這樣的東西:
<?php
define("OUTFILE",'output.txt');
$arr = [["data1"=>"Some Data", "data2"=>"Some more data"],["data3"=>"Some Data", "data4"=>"Some more data"]];
if (file_exists(OUTFILE)) {
unlink(OUTFILE);
}
foreach($arr as $obj) {
file_put_contents(OUTFILE, json_encode($obj)."\n", FILE_APPEND);
}
/* Output in file:
{"data1":"Some Data","data2":"Some more data"}
{"data3":"Some Data","data4":"Some more data"}
*/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.