ホームページ >バックエンド開発 >PHPチュートリアル >複数のJsonオブジェクトを出力する

複数のJsonオブジェクトを出力する

WBOY
WBOYオリジナル
2016-06-23 13:43:051547ブラウズ

3 つの関数から生成された 3 つの配列があり、それらはすべて Json データとして返される必要があります
しかし、各 echo json_encode(); で最終的に返されるデータが 3 つの json オブジェクトである場合、解析に問題があります。
3つの配列を一緒にしない方が良いです...
また、jsonデータが返された場合、ブラウザはそれを認識して構造化されたjsonデータを表示できるはずですよね?
ここで返すのは、文字列を直接表示する形式です...
ステートメントが使用されています

header('Content-type: application/json');

何が間違っている可能性がありますか?


ディスカッションへの返信 (解決策)

どのような種類の JSON データを返す必要がありますか?
単一の方法で一律に返されますか?次に、配列を結合して、次のような異なる JSON 文字列に変換します。
echo json_enocde(array('a'=>$a,'b'=>$b,'c'=>$c)) ;

「しかし、各 echo json_encode(); が最終的に返されるデータが 3 つの json オブジェクトである場合、解析に問題がある」と言いました
問題は何ですか?
var json_obj=JSON.parse (戻りデータ) を使用して値を返すと、それは json オブジェクトになります

以下のようにページを制御できます
function func1(){}
function func2(){}
function func3( ){}

$data = array();
$data["func1"] = func1();
$data["func3"] = func3(); ;

echo json_encode($data);

これでうまく解析できるはずです

json は単なる文字列ですが、形式があります

形式が間違っていると解析できません

それぞれ出力 3 json 文字列ですが、形式が間違っているためブラウザで解析できません
したがって、配列を使用してそれらを組み立ててから出力する必要があります

配列を使用したくない場合は、それらを新しいファイルにマージしますオブジェクト、必要な 3 つを属性として使用し、一度にクライアントに応答します

解決策は、学習した内容を一度に 3 回だけ出力することです

にマージします。オブジェクトを解析し、JSON に解析してから、クライアントはさまざまなオブジェクトを受け取ります

まず 3 つの配列を 1 つの配列に結合してから、json_encode を実行します。



これらはすべて同じインターフェースからのデータなので、まとめてみませんか

json データを返す php の例

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:TP問題次の記事:TP問題