私は最初のJSON APIをここで構築しています。私は開口部をコメントし、私は複数の(不要)ネストされた配列に気付いたよう[ ]
ブラケットを閉じている処理SQLがJSONに戻る
function processResponse($response)
{
// if (!$key) echo '[';
for ($i=0;$i<count($response);$i++) {
echo ($i>0?',':'').json_encode($response);
}
// if (!$key) echo ']';
}
お知らせ:私は私のSQLクエリからJSONを返す以下の機能を持っています。 $json[0]->email;
それ以外の場合はネストされた配列になります。$json[0][0]->email;
ただし、処理された出力にjson_decode()
を実行するとnullが返されます。 []
を追加するとこれが解決されます。
だから私はこのためjson_decode()
リターンnull
んなぜ私の質問は推測:
[{"inventory_id":7,"start":null,"expiration":null,"created":"2016-12-05 10:58:23","updated":"2016-12-08 15:29:56","item_name":"Tour Ticket (Per Person)","default_rate":null,"quantity":5,"bookings_count":"6","itinerary_count":"8","group_name":"Winery","location_name":"Location 1","status":"Active","type_name":"Tour","username":"[email protected]","user_id":4},{"inventory_id":20,"start":null,"expiration":null,"created":"2016-12-06 12:33:18","updated":"2016-12-08 15:41:12","item_name":"Tasting Ticket","default_rate":null,"quantity":10,"bookings_count":"0","itinerary_count":"0","group_name":"Winery","location_name":"Location 1","status":"Archived","type_name":"Ticket","username":"[email protected]","user_id":4}]
を、なぜこの仕事ん:
[[{"inventory_id":7,"start":null,"expiration":null,"created":"2016-12-05 10:58:23","updated":"2016-12-08 15:29:56","item_name":"Tour Ticket (Per Person)","default_rate":null,"quantity":5,"bookings_count":"6","itinerary_count":"8","group_name":"Winery","location_name":"Location 1","status":"Active","type_name":"Tour","username":"[email protected]","user_id":4},{"inventory_id":20,"start":null,"expiration":null,"created":"2016-12-06 12:33:18","updated":"2016-12-08 15:41:12","item_name":"Tasting Ticket","default_rate":null,"quantity":10,"bookings_count":"0","itinerary_count":"0","group_name":"Winery","location_name":"Location 1","status":"Archived","type_name":"Ticket","username":"[email protected]","user_id":4}]]
は私がJSON出力を構築するためのより良い方法はあります?
が要素上で ')(' json_encodeを使用して手動でそれらを一緒に固執しないでください読むことをお勧め。 PHPオブジェクトとしての完全なレスポンスと 'json_encode()'全体を構築してください。 – Chris
関数を投げ捨てて、単に 'echo json_encode($ response);'を実行してください。 – RiggsFolly
huh、simple ...私はAPIを構築するリファレンスとしてこれを使用していました:https://www.leaseweb.com/labs/2015/ 10/creating-a-simple-rest-api-in-php /私はなぜこのようにJSONを構築するのだろうか? – Nugs