千家信息网

JSON的语法是什么

发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,本文小编为大家详细介绍"JSON的语法是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"JSON的语法是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。json是一种
千家信息网最后更新 2025年02月12日JSON的语法是什么

本文小编为大家详细介绍"JSON的语法是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"JSON的语法是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

  json是一种数据格式,不是一种编程语言。

  json是一种轻量级的数据格式,可以简化表示复杂数据结构的工作量。

  1、语法

  ①json字符串必须使用双引号

  ②没有声明变量

  ③没有末尾分号

  ④json对象中的属性名必须加双引号

  json的语法可以表示三种类型的值

  简单值:使用与js相同的语法,可以在json中表示字符串、数值、布尔值和null。(不支持undefined)

  "hello world"

  对象:

  {

  "name":"Ewall",

  "age":21

  }

  数组:

  [25,"ewall",true]

  2、JSON对象

  两个方法:stringfy( ):把js对象序列化为json字符串

  parse( ):把json字符串解析为原生js值

  var person={

  name:"Ewall",

  friends:["joe","frank"],

  edition:3,

  year:2017

  };

  var jsonText=JSON.stringify(person);

  console.log(jsonText);

  3、JSON.stringfy( )的具体用法

  该方法可以传入三个参数,第一个参数是要序列化的对象;第二个是个过滤器(可以是数组或者是函数);第三个是一个选项,表示是否在JSON字符串中保留缩进。

  ①当过滤器是数组,那么该方法返回的结果将只包含数组中列出的属性

  var person={

  name:"Ewall",

  friends:["joe","frank"],

  edition:3,

  year:2017

  };

  var jsonText=JSON.stringify(person,["name","year"]);

  console.log(jsonText); //{"name":"Ewall","year":2017}

  ②当过滤器是函数。传入的函数接收两个参数,属性名和属性值,根据属性名可以知道应该如何处理要序列化的对象中的属性。

  var person={

  name:"Ewall",

  friends:["joe","frank"],

  edition:3,

  year:2017

  };

  var jsonText=JSON.stringify(person,function(key,value){

  switch(key){

  case "friends":

  return value.join(",");

  case "year":

  return undefined; //通过返回undefined删除该属性

  default:

  return value;

  }

  });

  console.log(jsonText); //{"name":"Ewall","friends":"joe,frank","edition":3}

  4、JSON.parse( )方法的具体用法

  接收两参数:第一个参数是要序列化的对象;第二个参数是个还原函数。

  在将日期字符串转换为Date对象是,经常要用到还原函数。

  var person={

  name:"Ewall",

  friends:["joe","frank"],

  edition:3,

  year:2017,

  releaseDate:new Date()

  };

  var jsonText=JSON.stringify(person);

  console.log(jsonText);

  var bookCopy=JSON.parse(jsonText,function(key,value){

  if(key=="releaseDate"){

  return new Date(value); //基于相应的json值创建一个新的Date对象

  }else{

  return value;

  }

  });

  console.log(bookCopy.releaseDate);

读到这里,这篇"JSON的语法是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0