2017-02-27 7 views
0

MySqlデータベースのデータを使用してJSONファイルを作成したかったのです。phpの単純な配列に連想配列を含めるにはどうしたらいいですか?

次のコードを使用してjsonファイルを作成しています。

それは私に次のような出力与えている
<?php 

$con = mysqli_connect('localhost','root','','mydb1'); 
$return_arr = array(); 
$sql = "select * from questions"; 
$res = mysqli_query($con,$sql); 
while($row = mysqli_fetch_assoc($res)){ 
$row_array['id'] = $row['id']; 
$row_array['ques'] = $row['ques']; 
$row_array['ans'] = $row['ans']; 
array_push($return_arr,$row_array); 
} 
mysqli_close($con); 
$b = json_encode($return_arr); 
$f = fopen("test.json","w"); 
fwrite($f,$b); 
fclose($f); 


?> 

[{"id":"1","ques":"New Delhi is capital of India?","ans":"1"},{"id":"2","ques":"India has 5 neighboring countries.","ans":"0"}] 

をしかし、私は私の結果は好きにしたい:

{"questions" : {"question" : [{"id":"1","ques":"New Delhi is capital of India?","ans":"1"},{"id":"2","ques":"India has 5 neighboring countries.","ans":"0"}]} 

私はandroid.Howで適切に使用できるようにすることができます私はこれを行う? 誰でも助けてくれますか?

または、あなたは私の配列を変更することなくAndroidの中でどのように使用することができますか教えてください。

ありがとうございます。

答えて

4

それだシンプルなキーとして保存したいときだけ

$b = json_encode(['questions' => ['questions' => $return_arr]]); 

あなたはJSONに保存されたあなたは、配列のOBオブジェクトとして保存されたファイルに次の行に次の行

$b = json_encode($return_arr); 

を変更値のペアの場合、キーを指定する必要があります。また

簡単なヒントあなたはJSONかなり出力をしたい場合、あなたは私がそれを変え、私の編集した質問をチェックしてくださいすることができ、ここでhttp://php.net/manual/en/function.json-encode.php#refsect1-function.json-encode-parameters

+0

を参照してください。この

$b = json_encode(['questions' => $return_arr], JSON_PRETTY_PRINT); 

のようなあなたの2番目のパラメータとしてJSON_PRETTY_PRINTを使用することができます少し。 少し違うJSONが必要です。おかげで – BugAdder

+0

ありがとう。 あなたは私の日を救った。 :) – BugAdder

関連する問題