js 实现 json 的校验

621 阅读1分钟

JSON(JavaScript Object Notation)是一种可读性非常好的轻量级的数据交换格式。

在项目开发中,JSON 适用于进行数据交互的场景,比如前后端的数据展示与传输。

JSON 可应用于多种开发语言,在 JavaScript 中,字符串、数字、对象等任意类型都可以通过 JSON 来表示。

JSON 的格式

  • JSON 使用键值对 key:value 的形式表示属性和值
  • key 值需要使用双引号
  • value 的值支持的类型:
    • Object
    • Array
    • String
    • Number
    • Boolean
    • null
  • 末尾不允许有多余的逗号
  • 不允许在 JSON 中添加注释

正确的写法:

image.png

错误的写法:

image.png image.png image.png

json 字符串转化为 json 对象

有时 json 字符串的形式可能是这样的:

image.png

eval()

可以通过 eval() 函数将字符串直接转化为JSON对象:

注:eval 中的数据需要包裹一层括号

const text = "[{'title': '序号','value': 'index'}]";
const obj = eval("("+ text +")");
console.log(obj)

运行结果:

image.png

JSON.parse()

使用 JSON.parse 要注意属性需要使用双引号引起来,才能解析成功。并且参数不能为空。

const text = '[{"title": "序号","value": "index"}]';
const obj = JSON.parse(text);
console.log(obj)

错误的写法:

image.png

JSON 的格式化

搜索“在线 JSON ”就能能看到很多 JSON 在线校验以及格式化的网站。

image.png

在项目中使用 js 实现 json 的校验:

try {
    var obj=JSON.parse(text);
    if(typeof obj == 'object' && obj ){
         console.log("JSON格式正确")
    }else{
       console.log("JSON格式正确")
    }
} 
catch(e) {
 console.log("JSON格式不正确")
}