>  기사  >  웹 프론트엔드  >  JSON 개체와 문자열 JSON.stringify(obj) 및 JSON.parse(string)_javascript 기술 간의 상호 변환에 대해 이야기합니다.

JSON 개체와 문자열 JSON.stringify(obj) 및 JSON.parse(string)_javascript 기술 간의 상호 변환에 대해 이야기합니다.

WBOY
WBOY원래의
2016-05-16 15:37:381273검색

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
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.