개발 스크랩 메모/PHP
PHP json_encode 인코딩 숫자를 문자열로
렉사이
2020. 12. 13. 23:51
php json u encode 함수에 문제가 있습니다.
숫자를 문자열로 부호합니다.
예를 들어.
array('id' => 3)
되다
"{ ["id": "3", ...)
js 가 이 수치를 만났을 때, 이것들을 문자열로 해석하고, 그것들을 실행하는 데 실패했습니다.
json 인코딩을 문자열로 부호화하는 방법을 아는 사람이 있습니까?감사합니다!
대답
나는 아주 빠른 테스트를 했다:
$a = array( 'id' => 152, 'another' => 'test', 'ananother' => 456, ); $json = json_encode($a); echo $json;
만약 내가 잘못하지 않았다면, 이것은 네가 묘사한 것처럼?
출력:
{"id":152,"another":"test","ananother":456}
따라서 이 예에서 정수는 문자열로 바꾸지 않았다.
하지만 이것은 우리가 사용하고 있는 php 버전에 따라 php 버전에 따라 조금씩 json -encode 관련 오류를 바로잡을 수 있습니다.
이 테스트는 php 5.2.6으로 진행된 것이다.
나는 php5.2.9, php5.3.0 같은 결과를 얻었다.
하지만 나는 5.2.x 버전의 원래 테스트: - (.
당신은 어느 버전의 php 을 사용하고 있습니까?테스트 용례가 발표한 예보다 더 복잡한가요?
아마도 http://bugs.php.net /상의 오류 보고서가 관련 될 수 있습니까?예를 들어 오류 40503:json 인코딩 정수변환과 php 이 일치하지 않습니까?
아마 Bug 38680도 흥미를 느끼게 할 것 같죠?