私はPHPでsimil web-serviceを構築しています。このWebサービスは、データベースのテーブルからすべてのレコードを読み取り、そのリストをjson形式で返します。phpでjson応答を出力するには
これは私のgetArticoli.phpファイルのコードです:私はこのURLで、このページを開くしようとした場合、
今<?php
require_once('lib/connection.php');
$query_Articolo = "SELECT CodArticolo,NomeArticolo,Quantita,CodiceBarre, PrezzoAttuale, PrezzoRivenditore,PrezzoIngrosso
FROM VistaArticoli ";
$result_Articoli = $connectiondb->query($query_Articolo);
$answer = array();
while ($row_Articoli = $result_Articoli->fetch_assoc()) {
$answer[] = ["id" => $row_Articoli['CodArticolo'],
"nome" => '"' . $row_Articoli['NomeArticolo'] . '"',
"quantita" => $row_Articoli['Quantita'],
"codiceBarre" => $row_Articoli['CodiceBarre'],
"codartFornitore" => $row_Articoli['CodiceBarre'],
"PrezzoAttuale" => $row_Articoli['PrezzoAttuale'],
"prezzoRivenditore" => $row_Articoli['prezzoRivenditore'],
"prezzoIngrosso" => $row_Articoli['prezzoIngrosso']];
}
//echo "fine";
echo json_encode($answer);
?>
:http://localhost/easyOrdine/getArticoli.php
私はjson_responseを得ることはありません。
データベースのテーブルには、1200レコードがあります。サイクル中にエコーメッセージを挿入しようとすると、表示されます。
私はこの問題は、この分野で産むことに気づいた:
"nome"=>'"'.$row_Articoli['NomeArticolo'].'"'
私は応答からこのフィールドを削除した場合、私が正しくJSONレスポンスを見ることができます。
このフィールドには、a-z/0-9の任意の文字と "/ *? - その他"のような特殊文字があります。
これらの特殊文字がjson回答のエラーを引き起こす可能性がありますか?
EDIT 私は5私のクエリに制限があり、これが応答である:
[{"id":"878","0":"ACCESSORIO PULIZIA PUNTE DISSALDANTE 3 MISURE","quantita":"1","codiceBarre":"DN-705100","codartFornitore":"DN-705100","PrezzoAttuale":"14.39","prezzoRivenditore":null,"prezzoIngrosso":null},
{"id":"318","0":"ACCOPPIANTORE RJ11 TELEFONICO VALUELINE VLTP90920W","quantita":"20","codiceBarre":"5412810196043","codartFornitore":"5412810196043","PrezzoAttuale":"0.68","prezzoRivenditore":null,"prezzoIngrosso":null},
{"id":"320","0":"ACCOPPIATORE AUDIO RCA VALUELINE VLAB24950B","quantita":"5","codiceBarre":"5412810214136","codartFornitore":"5412810214136","PrezzoAttuale":"1.29","prezzoRivenditore":null,"prezzoIngrosso":null},
{"id":"310","0":"ACCOPPIATORE RJ45 VALUELINE VLCP89005W","quantita":"8","codiceBarre":"5412810228843","codartFornitore":"5412810228843","PrezzoAttuale":"0.38","prezzoRivenditore":null,"prezzoIngrosso":null},
{"id":"311","0":"ACCOPPIATORE USB2 VALUELINE VLCP60900B","quantita":"5","codiceBarre":"5412810179596","codartFornitore":"5412810179596","PrezzoAttuale":"1.80","prezzoRivenditore":null,"prezzoIngrosso":null}]
'' nome "=> $ row_Articoli ['NomeArticolo']'だけを使って、jsonパーサをエスケープしないのはなぜですか? – marian0
あなたは正しい方法ですが、主な問題はこの "" 'とこれです。' '' '' '' $ row_Articoli ['NomeArticolo'] '' '' '' – Oliver
エラー報告を有効にしましたか?これは、JSONを構築できない理由を理解するのに役立ちます。 – roberto06