JSON

2018-12-27  本文已影响0人  陈裔松的技术博客

JSON数据格式

JSON的概念

JSON全称JavaScript Object Notation,通过键值对存储数据。JSON不是Javascript的子集,比如
JSON可以包含U+2028和U+2029,JS字符串不能。

JSON数据格式的特点
JSON数据格式的优势
JS中如何使用JSON数据
其他语言中如何使用JSON数据

JSON对象

JSON对象的特点
JSON对象的方法
// 第二个参数接受一个解析函数
// 注意去除尾逗号
console.log(JSON.parse('{"data": 1}'));   // {data: 1}
console.log(JSON.parse('null'));          // null
console.log(JSON.parse('"abc"'));         // abc
console.log(JSON.parse('{"data": 1},'));  // Throw Error,不能有尾逗号

// 第二个参数的解析函数是深度优先遍历
var str = '{"a":1,"b":{"c":5}}';
console.log(JSON.parse(str, function (k, v) {
  console.log(k);
  if(k === ''){
    return v
  }
  if(typeof v === 'number'){
    return v * 100;
  }
  return v;
}));

// a
// c  注意这里是深度优先遍历,所以c会先显示出来
// b
// {a: 100, b: {c: 500}}
// 第二个参数接受一个替换函数
// 第三个参数接受一个缩进格式
var obj = {"data":1,"a":{"b":5}};
var str = "abc";
var arr = [1,2,3];

console.log(JSON.stringify(obj));
// {"data":1,"a":{"b":5}}

console.log(JSON.stringify(str));
// "abc"

console.log(JSON.stringify(arr));
// [1,2,3]

console.log(
  JSON.stringify(arr,function(k,v){
    if(v === 3){
      return 5;
    }
    return v;
  })
);
//[1,2,5]

console.log(
  JSON.stringify(arr,function(k,v){
    if(v === 3){
      return 5;
    }
    return v;
  },2)
);
// [
//   1,
//   2,
//   5
// ]

console.log(JSON.stringify(obj,null,'--'));
// {
// --"data": 1,
// --"a": {
// ----"b": 5
// --}
// }
上一篇 下一篇

猜你喜欢

热点阅读