>  Q&A  >  본문

json_decode는 .json 파일에 2개의 배열을 저장한 후 null을 반환합니다. - 유효성 검사

JSON과 함께 PHP를 사용하는 것에 대해 질문이 있습니다.

배열을 사용하여 .json 파일 내부에 저장합니다. 데이터가 포함된 배열은 내 index.php에서 가져오고 사용자가 채웁니다. 지금까지는 괜찮습니다. 모든 것은 .json에 저장되며 여기에 콘텐츠를 저장하는 사용자가 2명 이상인 경우(즉, .json 파일에 2개의 배열이 있음) 데이터를 반환하지 않고 NULL을 반환합니다. JSON 파일을 저장하거나 읽는 것과 관련된 내용이 누락되었나요? 내 JSON이 유효하지 않다는 사실을 발견했습니다. 유효성 검사기 내부에 "다중 루트 JSON 요소"가 표시되었습니다.

다음은 .json을 쓰고 읽는 코드입니다.

으아아아

내 JSON 파일은 다음과 같습니다(2개의 배열이 채워져 있음):

으아아아

여기서 배열을 채운 다음 JSONwrite 메서드에 전달합니다(foreach 루프 내부에 있음).

으아아아

디코딩 시 null이 반환되지 않도록 이렇게 유효성을 검사할 수 있는 방법이 있나요?

P粉333395496P粉333395496219일 전357

모든 응답(1)나는 대답할 것이다

  • P粉724256860

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

    다른 배열 아래의 배열은 잘못된 JSON입니다. 루트 배열을 사용하고 사용자를 그 안에 유지해야 합니다(배열에 무엇이 있는지는 확실하지 않지만 아이디어는 얻을 수 있습니다):

    으아아아

    즉, 다음과 같아야 합니다:

    1. 사용자가 양식을 보냅니다
    2. 파일 내용을 읽었습니다
    3. json_decode()
    4. 을 사용하여 디코딩할 수 있습니다.
    5. 배열에 추가하세요
    6. json_encode()
    7. 을 사용하여 다시 인코딩할 수 있습니다.
    8. 새 JSON 전체를 파일에 저장하고 이전 콘텐츠를 교체

    회신하다
    0
  • 취소회신하다