programing

Json으로 NaN 전송

css3 2023. 3. 1. 11:23

Json으로 NaN 전송

floats와 floats를 포함한 어레이를 부호화하려고 합니다.NaN를 사용하여 Python에서 JSON 문자열로 변환합니다.json.dumps().

그러나 인코딩된 JSON 문자열이 PHP에서 성공적으로 디코딩되지 않았습니다.이요?NaN이 문제의 원인이 되고 있습니까?어떻게 대처하면 좋을까요?

json.dumps가 있다allow_nan[ True ](참)으로 설정됩니다.

NaN, Infinity, -Infinity는 JSON의 일부가 아니지만 Javascript에서는 표준이기 때문에 일반적으로 사용되는 확장입니다.수신자가 처리할 수 없는 경우는,allow_nan=False그러나 NaN을 시리얼화하려고 하면 ValueError가 표시됩니다.

Python의 표준 json 패키지의 기반이 되는 simplejson 패키지는 보다 빠르게 이동하며 이 상황을 처리합니다. NaN유효한 JSON이 아닙니다.ignore_nan플래그가 모두 올바르게 처리됩니다.NaN로.null변환.

import simplejson as json
json.dumps(thing, ignore_nan=True)

default파라미터를 지정하면 simplejson은 데이터 시간을 올바르게 해석할 수 있습니다.

json.dumps(response, ignore_nan=True, default=datetime.datetime.isoformat)

simplejson은 pip과 함께 설치할 수 있습니다.

pip install simplejson

NaN은 유효한 JSON 기호가 아닙니다.http://json.org/의 사양을 참조하십시오.

인코더는 NaN을 다음과 같이 부호화해야 합니다.null대신.

언급URL : https://stackoverflow.com/questions/6601812/sending-nan-in-json