>웹 프론트엔드 >JS 튜토리얼 >JSON.stringify 구문 예 explain_json

JSON.stringify 구문 예 explain_json

WBOY
WBOY원래의
2016-05-16 17:55:171198검색

저는 오랫동안 JavaScript에 익숙했지만, 솔직히 이런 사용법을 본 것은 처음이어서 부끄럽습니다. 그래서 정원사들에게 조금이나마 도움이 되었으면 하는 마음으로 인터넷에서 글쓰기 정보를 찾아보고 몇 가지 사례를 적어보았습니다.
함수: 이 함수의 기능은 주로 객체를 직렬화하는 것입니다.
어떤 사람들은 연재라는 단어에 알레르기가 있을 수도 있는데, 제 이해는 매우 간단합니다. 즉, 원래 객체 유형을 문자열 유형(또는 더 정확하게는 json 유형)으로 변환합니다. 그렇게 간단합니다. 예를 들어 클래스가 있는 경우 이 메서드를 통해 해당 클래스를 해당 json 유형으로 변환할 수 있습니다. 매우 간단합니다.
계속 읽어보세요.
구문:
JSON.stringify(value [, replacement] [, space])
value: 필수 필드입니다. 배열, 클래스 등 사용자가 입력하는 객체입니다.
replacer: 선택사항입니다. 2가지 방식으로 나뉘는데, 하나는 방식이고, 두 번째는 배열입니다.
상황 1: 먼저 데이터에 대해 이야기해 보겠습니다. 후속 실험을 통해 첫 번째 데이터와 관련이 있음을 알 수 있습니다. 일반적으로 직렬화된 결과는 키-값 쌍으로 표시됩니다.
예:
name:"lan",age:25
이 양식입니다.
그래서 이 형식에서는 첫 번째 값에 두 번째 값이 있으면 두 번째 값이 키로 사용되고, 없으면 첫 번째 값이 값으로 표시됩니다. 죄송합니다. 무시하세요. . [좀 추상적이지 않나요? 저도 그렇게 생각하는데, 실험을 지켜보시면 됩니다. . 뭐. ]
사례 2: 메소드인 경우 매우 간단합니다. 즉, 직렬화된 각 객체(각 객체임을 기억하세요)를 처리를 위해 메소드에 전달하는 것입니다.
space: 구분 기호로 사용되는 것이 무엇인지 이해하기 쉽습니다.
1. 생략하면 표시되는 값에 구분 기호가 없습니다. 직접 출력
2. 숫자인 경우 들여쓰기할 문자 수를 정의합니다. 물론 10보다 큰 경우 최대값은 10입니다.
3. 예를 들어 " " 는 캐리지 리턴을 의미하며 한 줄에 하나의 캐리지 리턴이 있습니다.
4. 단순한 문자열이라면 값을 출력할 때 각 줄에 이 문자열을 추가하면 됩니다. 물론 최대 길이도 10자입니다.
예제부터 시작하세요.
1. 매개변수가 하나만 있는 경우:

코드 복사 코드는 다음과 같습니다.

var Student = new Object();
student.name = "Lanny"
student.age = "25"; .location = "중국";
var json = JSON.stringify(student);
alert(student);

결과는 다음과 같습니다.

어떤 사람들은 JSON.stringify의 역할을 의심할 수도 있습니다. 만약 우리가 이 기능을 원하지 않는다면 어떨까요? 코드는 아래와 같습니다.

코드 복사 코드는 다음과 같습니다.
var Student = new Object() ;
student.name = "Lanny";
student.age = "25";
student.location = "중국"

// var json .stringify(student );
alert(student)

결과를 ​​축하합니다:

거짓말 안 했으니 계속 하세요.


2. 두 번째 매개변수가 존재하고 여전히 함수인 경우

코드 복사 코드는 다음과 같습니다. 다음과 같습니다:
var Students = new Array();
students[0] = "Lanny"
students[1] = "dong"
students [2 ] = "사랑해요";
var json = JSON.stringify(students,switchUpper);
function switchUpper(key, value) {
return value.toString().toUpperCase(); >}
alert(json);

     //var json = JSON.stringify(students, function (key,value) {

     //return value.toString() .toUpperCase ();

   //})


  위의 방법은 다음과 같이 대체할 수도 있지만 작성 방법이 약간 다릅니다. .
결과는 다음과 같습니다.


3. 두 번째 매개변수가 존재하고, 두 번째 매개변수가 함수가 아닌 배열인 경우.

3.1 [오해] 첫 번째 매개변수가 배열이고 두 번째 매개변수도 배열인 경우 첫 번째 매개변수의 값만 표시됩니다. 예:


코드 복사 코드는 다음과 같습니다.

var Students = new Array();
students[0] = "Lanny";
students[1] = "dong"
students[2] = "사랑해요" ";
var stu = new Array();
stu[0] = "1";
stu[1] = "2";
var json = JSON.stringify(students,stu );
alert(json);

 죄송합니다.

두 번째는 무시되지만 첫 번째는 직렬화됩니다.

3.2 첫 번째가 객체라면(여기에 언급된 객체는 C#의 새로운 객체와 같습니다) 두 번째는 배열입니다.

그런 다음 첫 번째 값에 두 번째 값이 있으면 두 번째 값을 키로 사용하고 첫 번째 값을
을 나타내는 값으로 사용합니다. code 코드는 다음과 같습니다.

var Student = new Object()
student.qq = "5485891512"
student .name = "래니";
student.age = 25;

var stu = new Array()
stu[0] =
stu[1]; ";
stu[2] = "안녕하세요";//이 학생 개체가 존재하지 않습니다.

var json = JSON.stringify(student,stu);
alert(json);

얻은 결과는 다음과 같습니다.

stu[2] = "Hi"이기 때문에 이 Hi는 첫 번째 항목에서 찾을 수 없으므로 표시되지 않습니다.

4. 세 번째 매개변수

4.1. 생략하면 표시되는 값에 구분 기호가 없습니다.

에 직접 출력 예:
코드 복사 코드는 다음과 같습니다.

var 학생 = new Object();
student.qq = "5485891512";
student.name = "Lanny";
student.age = 25; stu = new Array( );
stu[0] = "qq";
stu[1] = "나이";
stu[2] = "안녕하세요"; json = JSON.stringify (student,stu);
alert(json);


출력은 다음과 같습니다.

4.2. 들여쓰기를 정의합니다. 물론 10보다 큰 경우 최대값은 10입니다.



코드 복사
코드 var Student = new Object(); student.qq = "5485891512";
student.name = "Lanny"
student.age = 25;

var stu = new Array();
stu[0] = "qq";
stu[1] = "age"
stu[2] = "안녕하세요. ";

var json = JSON.stringify(student,stu,100);//여기서 100을 참고하세요
alert(json);


그러면 얻을 수 있는 것은 다음과 같습니다. :

empty 10자를 열었습니다.

4.3. 캐리지 리턴을 나타내는 " "와 같은 이스케이프 문자인 경우 한 줄에 하나의 캐리지 리턴이 있습니다.
마찬가지다.

4.4. 그냥 문자열이라면 값을 출력할 때 각 줄에 이 문자열을 추가하면 됩니다. 물론 최대 길이도 10자입니다.

var json = JSON.stringify(student,stu,“HaiKou”);//



그렇습니다. 안녕히 주무세요.

기사 출처 http://www.cnblogs.com/damonlan/

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