>  기사  >  웹 프론트엔드  >  JS로 구현된 JSON 직렬화 작업

JS로 구현된 JSON 직렬화 작업

不言
不言원래의
2018-07-03 15:33:471673검색

이 글에서는 JS에서 구현한 JSON 직렬화 연산을 주로 소개하고, JSON 직렬화 연산의 관련 구현 방법과 관련 주의사항을 간단한 예시 형태로 분석해, 도움이 필요한 친구들이 쉽게 이해할 수 있도록 코드를 좀 더 자세히 설명했습니다. 참고하세요

본 글의 예시는 JS에서 구현한 JSON 직렬화 연산을 설명하고 있습니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JOSN对象</title>
  <script>
    var book={
      title:"php 最佳实践",
      authors:[&#39;jack&#39;],
      edition:3,
      year:2017
    };
    //JSON.stringify()有三个参数分别是json对象,过滤器(可以是数组or函数),是否在josn字符串中保留缩进(这个参数意义不大可忽略)
    var jsonText=JSON.stringify(book);
    var jsonText1=JSON.stringify(book,["title","year"]);
    var jsonText2=JSON.stringify(book,function (key,value) {
      switch (key){
        case "title":
          return "java 从入门到精通";
        case "year":
          return 2018;
        case "edition":
          return undefined;
        default:
          return value;
      }
    });
    console.log(jsonText);//{"title":"php 最佳实践","authors":["jack"],"edition":3,"year":2017}
    console.log(jsonText1);//{"title":"php 最佳实践","year":2017}
    console.log(jsonText2);//{"title":"java 从入门到精通","authors":["jack"],"year":2018}
    //JSON.parse(arg1,arg2) 可以接受2个参数一个是json字符串,一个是过滤函数
    var jsonObject=JSON.parse(jsonText);
    var jsonObject1=JSON.parse(jsonText,function(key,value){
      if(key==="year"){
        return 2019
      }else if(key==="title"){
        return "javascript 从入门到精通";
      }else{
        return value;
      }
    });
    console.log(jsonObject);//Object {title: "php 最佳实践", authors: Array(1), edition: 3, year: 2017}
    console.log(jsonObject1);//Object {title: "javascript 从入门到精通", authors: Array(1), edition: 3, year: 2019}
  </script>
</head>
<body>
</body>
</html>

작업 결과:

위 내용은 모든 사람의 학습에 도움이 되기를 바랍니다. 더 많은 관련 콘텐츠를 보려면 PHP 중국어 웹사이트를 주목하세요!

관련 추천:

이벤트 버블링을 방지하는 jQuery의 인스턴스 분석

JavaScript+html5 캔버스 그리기 효과 악당 소개

위 내용은 JS로 구현된 JSON 직렬화 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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