JSON.stringify 및 json_decode()를 올바르게 사용하는 방법
다음 방법으로 다차원 Javascript 배열을 내 사이트의 다른 페이지로 전달하려고 합니다.
어레이에서 JSON.stringify 사용
입력 필드에 결과 값 할당
두 번째 페이지에 해당 필드 게시
게시된 값에 json_module 사용
그런 다음 var_test를 실행합니다.
(투고된 변수가 전달되었는지 확인하기 위해 직접 확인)
Javascript (1페이지):
var JSONstr = JSON.stringify(fullInfoArray);
document.getElementById('JSONfullInfoArray').value= JSONstr;
php (2페이지):
$data = json_decode($_POST["JSONfullInfoArray"]);
var_dump($data);
echo($_POST["JSONfullInfoArray"]);
에코가 정상적으로 동작하지만 var_dump는 NULL을 반환한다.
제가 무엇을 잘못했지요?
이것으로 해결했습니다.
$postedData = $_POST["JSONfullInfoArray"];
$tempData = str_replace("\\", "",$postedData);
$cleanData = json_decode($tempData);
var_dump($cleanData);
이유는 알 수 없지만 게시물은 문자열 내의 각 변수를 구분하는 여러 개의 "\" 문자로 구성되어 있습니다.
를 사용하여 알아냈다.json_last_error()
돌아온 바트의 제안대로JSON_ERROR_SYNTAX
JSON.stringify()를 사용하여 데이터를 저장한 후 php로 읽을 필요가 있는 경우.다음 코드가 나에게 효과가 있었다.
json_decode( html_entity_decode( stripslashes ($jsonString ) ) );
@Thisguyhastwothumbs 덕분에
JSON stringify를 사용하는 경우 json_decode보다 먼저 html_entity_decode를 사용합니다.
$tempData = html_entity_decode($tempData);
$cleanData = json_decode($tempData);
의 내용을 확인해야 합니다.$_POST["JSONfullInfoArray"]
해석에 문제가 있는 경우json_decode
그냥 돌아온다null
이건 별로 도움이 안 되니까null
반환되었습니다.확인해 주세요.json_last_error()
무엇이 잘못되었는지에 대한 자세한 정보를 얻을 수 있습니다.
제 경우 다른 답변은 모두 작동하지 않았습니다.아마 JSON 배열에 특수 문자가 포함되어 있을 것입니다.무엇이 문제였습니까?
Javascript(부호화 추가)URIC 컴포넌트)
var JSONstr = encodeURIComponent(JSON.stringify(fullInfoArray));
document.getElementById('JSONfullInfoArray').value = JSONstr;
PHP(질문에서 변경되지 않음)
$data = json_decode($_POST["JSONfullInfoArray"]);
var_dump($data);
echo($_POST["JSONfullInfoArray"]);
URL 필드와 긴 텍스트필드를 포함하여 문자가 포함된 서브셋에 대해 var_dump에서 NULL을 반환하고 있는 2000개가 넘는 사용자 입력 데이터셋에서 에코와 var_dump가 모두 정상적으로 동작하는 것이 확인되었습니다.?&#
.
stripslashes(htmlspecialchars(JSON_DATA))
jsonText = $_REQUEST['myJSON'];
$decodedText = html_entity_decode($jsonText);
$myArray = json_decode($decodedText, true);`
이게 어떻게 돌아가는지는 모르겠지만, 작동했어요.
$post_data = json_decode(json_encode($_POST['request_key']));
언급URL : https://stackoverflow.com/questions/15986235/how-to-use-json-stringify-and-json-decode-properly
'programing' 카테고리의 다른 글
OAuth2 인증 서버/사용자 엔드포인트에서 사용자 지정 사용자 정보를 가져오는 방법 (0) | 2023.04.01 |
---|---|
Perl을 사용한 간단한 JSON 해석 (0) | 2023.04.01 |
IE 8/9의 Form Data 폴백 (0) | 2023.04.01 |
브라우저 네이티브 JSON 지원(창).JSON) (0) | 2023.04.01 |
유효하지 않은 문자(ORA-00911)는 어디에 있습니까? (0) | 2023.04.01 |