완화된 JSON을 안전하게 구문 분석
잠재적으로 위험한 평가 기능을 사용하지 않고 "완화된" JSON을 구문 분석하는 것은 JSON 데이터 작업 시 흔히 발생하는 문제입니다. 엄격한 JSON 구문을 준수하지 않을 수 있습니다. JSON.parse()에서는 키를 따옴표로 묶어야 하지만 일부 시나리오에서는 편의상 또는 레거시 이유로 따옴표가 없는 키로 JSON을 구문 분석해야 합니다.
"완화된" JSON을 안전하게 처리하는 한 가지 접근 방식은 JSON을 구문 분석하기 전에 삭제하는 것입니다. 정규식 바꾸기를 사용하면 나머지 JSON 구조를 유지하면서 따옴표가 없는 키를 따옴표로 변환할 수 있습니다.
var badJson = "{muh: 2}"; var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_]+)(['"])?:/g, '"": ');
이 예에서 정규식은 선택적 작은따옴표 또는 큰따옴표로 묶인 따옴표가 없는 키를 검색합니다. , 그 뒤에 콜론이 옵니다. 그런 다음 일치 항목을 올바른 인용 키 구문으로 대체하여 이제 JSON 문자열이 적절한 JSON 형식을 충족하는지 확인합니다.
JSON 문자열이 삭제되면 JSON.parse()를 사용하여 안전하게 구문 분석할 수 있습니다.
JSON.parse(correctJson);
이 방법을 사용하면 사용자 지정 파서나 eval과 같은 안전하지 않은 기술 없이도 JSON 구문 분석의 보안과 신뢰성을 유지하면서 따옴표가 없는 키를 사용하여 "완화된" JSON을 구문 분석할 수 있습니다.
위 내용은 `eval`을 사용하지 않고 완화된 JSON을 안전하게 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!