簡體   English   中英

以某種 output 格式從 PHP 創建 JSON

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM