web 开发中如何避免JSON 报错

在我们不采用 try catch 捕捉错误的情况下如何解决JSON的错误呢?

一、JSON 错误种类:

1 双引号 单引号
2 回车符 tab符 未替换
3 特殊符号过滤

JSON 常见的错误解决办法

在采用JSON传送数据时,首先应该检测属性值中 是否存在 双引号 单引号 回车符 tab符 等一些特殊字符,在特殊字符前加入 “\”转义字符


二、JSON 简介

(JavaScript Object Notation) 是一种轻量级的数据交换格式 ,目前常用于夸语言的轻量级的数据交换。

JSON 定义

JSON的定义类似于其它语言中的字典定义,是一种键值对的对应关系。
例:
{
键名:属性值
}
注意事项:
JSON 中有数值型和字符型两种类型
JSON 中不能加入注释
JSON 中所有的 “键名都必须加入双引号”,所有的属性值也必须加入双引号,但是数值类的属性值不需要加入双引号
JSON 中键名的定义 尽量类似于其它编码规则一样的形势进行定义,方便后期阅读和修改
JSON 中属性值必须为 布尔(true false) 数字 字符串 对象 数组 或null


JSON定义举例

例:
var a={
“item1″:”字符串”, //字符 属性值
“item2”:true, //布尔 属性值
“item3”:1233, //数字 属性值
“item4”:{}, //对象 属性值
“item5”:[], //数组 属性值
“item6”:null //null 属性值
};

var a1 = {
“info1”: “信息1”,
“info2”: “测试2”,
“jine”: 100.02
};

var a2 ={
“info1”: “信息1”,
“info2”: “测试2”,
“item”: {
“item1”: “类型1”,
“item2”: “类型2”,
“item3”: “类型3”,
“item4”: “类型4”,
“item5”: 500
}
};

//数组结构
var a3={
“info1”: “信息1”,
“info2”: “测试2”,
“item”: {
“item1”: “类型1”,
“item2”: “类型2”,
“item3”: “类型3”,
“item4”: “类型4”,
“item5”: 500
},
“itemList”:[“a”,”b”,”c”]
}

var a4 ={
“info1”: “信息1”,
“info2”: “测试2”,
“item”: {
“item1”: “类型1”,
“item2”: “类型2”,
“item3”: “类型3”,
“item4”: “类型4”,
“item5”: 500
},
“itemList”:[“a”,”b”,”c”], //数组
“item6”:{
“a”:”测试1″,
“b”:”测试2″
} //深嵌对象
}

var a5 ={
“info1”: “信息1”,
“info2”: “测试2”,
“item”: {
“item1”: “类型1”,
“item2”: “类型2”,
“item3”: “类型3”,
“item4”: “类型4”,
“item5”: 500
},
“itemList”:[{“d1″:1,”d2″:4},”a”,”b”,”c”], //数组
“item6”:{
“a”:”测试1″,
“b”:”测试2″
} //深嵌对象
}