[자바스크립트 기초] 학습 ②③ - JSON

3333 단어
JSON 데이터 유형
number:
boolean:
string:
null:
array:[]
object:{ ... }
JSON의 문자열은 반드시 더블 따옴표 "를 사용해야 하며, Object의 키도 반드시 더블 따옴표"를 사용해야 한다
서열화
var xiaoming = {
    name: '  ',
    age: 14,
    gender: true,
    height: 1.65,
    grade: null,
    'middle-school': '\"W3C\" Middle School',
    skills: ['JavaScript', 'Java', 'Python', 'Lisp']
};

JSON.stringify(xiaoming); // '{"name":"  ","age":14,"gender":true,"height":1.65,"grade":null,"middle-school":"\"W3C\" Middle School","skills":["JavaScript","Java","Python","Lisp"]}'

들여쓰기 출력
JSON.stringify(xiaoming, null, '  ');
{
  "name": "  ",
  "age": 14,
  "gender": true,
  "height": 1.65,
  "grade": null,
  "middle-school": "\"W3C\" Middle School",
  "skills": [
    "JavaScript",
    "Java",
    "Python",
    "Lisp"
  ]
}  

지정된 속성 내보내기
JSON.stringify(xiaoming, ['name', 'skills'], '  ');
{
  "name": "  ",
  "skills": [
    "JavaScript",
    "Java",
    "Python",
    "Lisp"
  ]
}

함수 입력
function convert(key, value) {
    if (typeof value === 'string') {
        return value.toUpperCase();
    }
    return value;
}

JSON.stringify(xiaoming, convert, '  ');
{
  "name": "  ",
  "age": 14,
  "gender": true,
  "height": 1.65,
  "grade": null,
  "middle-school": "\"W3C\" MIDDLE SCHOOL",
  "skills": [
    "JAVASCRIPT",
    "JAVA",
    "PYTHON",
    "LISP"
  ]
}

toJSON () 방법을 정의하여 정렬된 데이터를 직접 되돌려줍니다
var xiaoming = {
    name: '  ',
    age: 14,
    gender: true,
    height: 1.65,
    grade: null,
    'middle-school': '\"W3C\" Middle School',
    skills: ['JavaScript', 'Java', 'Python', 'Lisp'],
    toJSON: function () {
        return { //    name age,     key:
            'Name': this.name,
            'Age': this.age
        };
    }
};

JSON.stringify(xiaoming); // '{"Name":"  ","Age":14}'

역서열화
JSON.parse()가 JavaScript 객체로 변환
JSON.parse('[1,2,3,true]'); // [1, 2, 3, true]
JSON.parse('{"name":"  ","age":14}'); // Object {name: '  ', age: 14}
JSON.parse('true'); // true
JSON.parse('123.45'); // 123.45
alert(JSON.parse('{"name":"  ","age" :14}').name);//  

해석된 속성 변환
JSON.parse('{"name":"  ","age":14}', function (key, value) {
    //  number * 2:
    if (key === 'name') {
        return value + '  ';
    }
    return value;
}); // Object {name: '    ', age: 14}

좋은 웹페이지 즐겨찾기