ホームページ  >  に質問  >  本文

.json ファイルに 2 つの配列を保存した後、json_decode が null を返す - 検証

PHP と JSON の使用について質問があります。

配列を使用して .json ファイル内に保存します。データを含む配列は私のindex.phpから取得され、ユーザーによって設定されますが、これまでのところ問題はありません。すべてが .json に保存され、複数のユーザーがコンテンツを保存している場合 (.json ファイルに 2 つの配列があることを意味します)、データは返されず、NULL が返されます。 JSON ファイルの保存または読み取りについて何か見逃していることがありますか? JSON が無効であることがわかり、バリデーター内に「複数のルート JSON 要素」が表示されていました。

これは、.json の書き込みと読み取りのためのコードです:

リーリー

私の JSON ファイルは次のようになります (2 つの配列が設定されています):

リーリー

ここで配列にデータを設定し、それを JSONwrite メソッドに渡します (これは foreach ループ内にあります):

リーリー

デコード時に null が返されないように、このように検証する方法はありますか?

P粉333395496P粉333395496219日前355

全員に返信(1)返信します

  • P粉724256860

    P粉7242568602024-02-18 00:20:20

    別の配列の下にある配列は無効な JSON です。ルート配列を使用し、ユーザーをその中に保持する必要があります (配列の内容が意味があるかどうかはわかりませんが、アイデアはわかります):

    リーリー

    つまり、次のようになります:

    1. ユーザーがフォームを送信
    2. ファイルの内容を読みました
    3. json_decode()
    4. を使用してデコードできます。
    5. 配列に追加します
    6. json_encode() を使用してエンコードし直すことができます
    7. 新しい JSON 全体をファイルに保存し、古いコンテンツを置き換えます
    8. 返事
      0
  • キャンセル返事