Firefox, chrome, Opera, safari, ie9, ie8 등 고급 브라우저에서는 JSON 객체의 stringify(),parse() 메소드를 직접 사용할 수 있습니다.
JSON.stringify(obj)는 JSON을 문자열로 변환합니다. JSON.parse(string)은 문자열을 JSON 형식으로 변환합니다.
var a={"name":"tom","sex":"男","age":"24"}; var aToStr = JSON.stringify(a); alert(aToStr); //结果:{"name":"tom","sex":"男","age":"24"}
결과: 문자열
var b='{"name":"tom","sex":"男","age":"24"}'; var aToObj = JSON.parse(b); console.log(aToObj); //结果:Object {name: "tom", sex: "男", age: "24"}
결과: 개체
ie8(호환 모드), ie7 및 ie6에는 JSON 개체가 없지만 http://www.json.org/에서는 json.js를 제공하므로 ie8(호환 모드), ie7 및 ie6 JSON 객체와 해당 stringify() 및 parse() 메서드를 지원할 수 있습니다.
이제 일반적으로 json2.js를 사용합니다. 다운로드 주소는 여기를 클릭하세요.
페이지에 추가하면 하위 버전의 IE에 json 개체가 없는 문제를 해결할 수 있습니다.
<script type="text/javascript" src="js/json2.js"></script>
PS: JSON의 parse() 및 stringfy() 메서드
1.JSON.parse;
기능: JavaScript 개체 표현의 JSON 문자열을 개체로 변환(문자열을 개체로)
구문: JSON.parse(텍스트 [, 부활])
텍스트가 필요합니다. 유효한 JSON 문자열입니다.
부활 선택사항. 결과를 변환하는 함수입니다. 이 함수는 개체의 각 구성원에 대해 호출됩니다.
반환값: JSON 객체
예:
var jsonStr = '{"name":"leinov","sex":"famle","address":"beijing"}' var jsonObj = JSON.parse(jsonStr); alert(typeof jsonObj); //Object
2.JSON.stringify
기능: JavaScript 객체 표현에서 JavaScript json 객체를 JSON 문자열로 변환(객체를 문자열로)
구문: JSON.stringify(value [, replacement] [, space]);
값 필수, 일반적으로 객체 또는 배열
대체 함수 또는 선택적 변환 결과 배열
공간은 선택사항입니다. 더 쉽게 읽을 수 있도록 값 JSON 텍스트에 들여쓰기, 공백 및 줄바꿈을 추가합니다.
공백이 생략되면 추가 공백 없이 반환 값 텍스트가 생성됩니다.
공백이 숫자인 경우 반환 값에는 각 수준에서 지정된 공백 수만큼 들여쓰기된 텍스트가 포함됩니다. 공백이 10보다 크면 텍스트가 10 공백만큼 들여쓰기됩니다.
공백이 " "와 같이 비어 있지 않은 문자열인 경우 반환 값 텍스트는 각 수준의 문자열 문자로 들여쓰기됩니다.
공백이 10자를 초과하는 문자열인 경우 처음 10자를 사용하세요.
반환 값: JSON에 포함된 텍스트 문자열입니다.
예:
var student = new Object(); student.name = "leinov"; student.sex = "famle"; student.address = "chaoyang"; var jsonStudent = JSON.stringify(student); alert(typeof jsonStudent); //string