배열 공백 문제

배열 공백 문제

QA

배열 공백 문제

답변 2

본문

파일 업로드를 했을때 json으로 저장되게 만들고 있는데요

근데 배열이 공백일때  보통 "" 이렇게 되는데 저는 "null" 로 넣고 싶은데

다중일때 공백을 "null" 로 넣고싶은데 도무지 감이 안옵니다. 구글링 서치해도 다르게 결과 나오는데

고수님의 도움을 받고 싶네요 

이 질문에 댓글 쓰기 :

답변 2

챗지피티:

다음은 Python 예시 코드입니다.


import json
# 예시로 빈 배열 생성
empty_array = []
# 배열을 JSON으로 변환할 때, 공백을 "null"로 저장하는 함수
def custom_encoder(obj):
    if isinstance(obj, list) and not obj:
        return "null"
    return obj
# 빈 배열을 JSON으로 저장할 때, 공백을 "null"로 저장하는 방법
json_data = json.dumps(empty_array, default=custom_encoder)
print(json_data)

위의 예시 코드에서는 json.dumps() 메서드의 default 매개변수를 이용하여 커스텀 인코더 함수를 작성합니다. 이 함수는 객체를 JSON 문자열로 변환할 때 호출됩니다.

커스텀 인코더 함수는 빈 리스트인 경우 "null"을 반환하도록 만들어졌습니다. 이 함수는 json.dumps() 메서드에 의해 자동으로 호출되므로, 빈 배열이 JSON으로 변환될 때 "null"이 저장됩니다.

이 방법을 이용하면 다중 배열에 대해서도 동일하게 처리할 수 있습니다. 단순히 리스트가 여러 개인 경우, 커스텀 인코더 함수를 재귀적으로 호출하여 각각의 리스트를 변환하면 됩니다.

다시 배열로 설명 드리자면

$myTest = array("key1" => "ㄱ", "key2" => "ㄴ", "key3" => '', "key4" => null, "key5" => "");

 

이렇게 하면 

array(5) {

["key1"] => string(3) "ㄱ"

["key2"] => string(3) "ㄴ"

["key3"] => string(3) ""

["key4"] => string(0) null

["key5"] => string(0) ""

}

 

이렇게 문자열 "null" 으로 넣어져야하는데

string(0) "" 이 됩니다.

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 253
© SIRSOFT
현재 페이지 제일 처음으로