판단 방법: 먼저 "JSON.parse(str)" 문을 사용하여 지정된 데이터 문자열을 구문 분석한 다음 "if(typeof obj =='object'&&obj)" 문을 사용하여 구문 분석된 데이터의 유형을 확인합니다. "객체" 유형입니다. 그렇다면 str 데이터는 json 형식입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
js는 문자열이 JSON 형식인지 확인합니다.
단순히 문자열이 JSON 형식인지 확인하는 데 사용할 수 없습니다.
function isJSON(str) { if (typeof str == 'string') { try { JSON.parse(str); return true; } catch(e) { console.log(e); return false; } } console.log('It is not a string!') }
위 try/catch
的确实不能完全检验一个字符串是JSON
형식의 문자열에는 많은 예외가 있습니다.
JSON.parse('123'); // 123 JSON.parse('{}'); // {} JSON.parse('true'); // true JSON.parse('"foo"'); // "foo" JSON.parse('[1, 5, "false"]'); // [1, 5, "false"] JSON.parse('null'); // null
우리는 JS의 데이터 유형이 문자열, 숫자, 부울, 배열, 객체, Null 및 정의되지 않음으로 구분된다는 것을 알고 있습니다.
다음 방법을 사용하여 판단할 수 있습니다.
function isJSON(str) { if (typeof str == 'string') { try { var obj=JSON.parse(str); if(typeof obj == 'object' && obj ){ return true; }else{ return false; } } catch(e) { console.log('error:'+str+'!!!'+e); return false; } } console.log('It is not a string!') } console.log('123 is json? ' + isJSON('123')) console.log('{} is json? ' + isJSON('{}')) console.log('true is json? ' + isJSON('true')) console.log('foo is json? ' + isJSON('"foo"')) console.log('[1, 5, "false"] is json? ' + isJSON('[1, 5, "false"]')) console.log('null is json? ' + isJSON('null')) console.log('["1{211323}","2"] is json? ' + isJSON('["1{211323}","2"]')) console.log('[{},"2"] is json? ' + isJSON('[{},"2"]')) console.log('[[{},{"2":"3"}],"2"] is json? ' + isJSON('[[{},{"2":"3"}],"2"]'))
실행 결과는 다음과 같습니다.
> "123 is json? false" > "{} is json? true" > "true is json? false" > "foo is json? false" > "[1, 5, "false"] is json? true" > "null is json? false" > "["1{211323}","2"] is json? true" > "[{},"2"] is json? true" > "[[{},{"2":"3"}],"2"] is json? true"
따라서 다음과 같은 결론을 내릴 수 있습니다.
JSON.parse() 메서드는 JSON 문자열을 구문 분석하는 데 사용되며 json.parse( )는 문자열을 json 객체로 변환
로 변환합니다. JSON.parse가 성공적으로 변환될 수 있고 변환된 유형이 객체이고 null과 같지 않으면 이 문자열은 JSON 형식의 문자열입니다.
JSON.parse():
JSON은 일반적으로 서버와 데이터를 교환하는 데 사용됩니다.
서버 데이터를 수신할 때 일반적으로 문자열입니다.
JSON.parse() 메서드를 사용하여 데이터를 JavaScript 객체로 변환할 수 있습니다.
구문:
JSON.parse(text[, reviver])
매개변수 설명:
text: 필수, 유효한 JSON 문자열.
reviver: 선택 사항이며 결과를 변환하는 함수입니다. 이 함수는 개체의 각 구성원에 대해 호출됩니다.
분석하기 전에 데이터가 표준 JSON 형식인지 확인하세요. 그렇지 않으면 구문 분석 오류가 발생합니다.
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 비디오를 방문하세요! !
위 내용은 javascript는 json 형식인지 여부를 어떻게 결정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!