js 与 json

js语言 与 Json格式数据的增删改查。

string与json的转换。

(放一些代码,以后忘记了,参考自用)

//demo for json

//json object的初始化
//json object of js
let jsonObj_1 = { key1: 123 };
let jsonObj_2 = { key1: 123, key2: "value2" };

//json array的初始化
//json array of js
let jsonArr_1 = [
  { key1: "value1", key2: "value2" },
  { key1: "value3", key2: "value4" },
];

//json object 可以包含 json array 作为一个属性
//json object can contain json array
let jsonObj_3 = { array: [{ key1: "value1" }, { key1: "value2" }] };

//json object 的长度 不存在
//length of json obeject
function lengthOfObj(jsonObj) {
  console.log("jsonObj.length = " + jsonObj.length); //undefined
}

//json array的长度
//length of json array
function lengthOfArr(jsonArr) {
  console.log("jsonObj.length = " + jsonArr.length);
}
lengthOfObj(jsonObj_2);
lengthOfArr(jsonArr_1);

//Json object, json array是按引用传递的,函数内的修改可以在函数外看到
//遍历 json object
//visit json object
function visitJsonObj(jsonObj) {
  console.log("visitJsonObj:");
  console.log(jsonObj.key1);
  console.log(jsonObj.key2); //没有相应的key输出undefined

  console.log("visitJsonObj:");
  for (let key in jsonObj) {
    console.log(key); //ouput key
    console.log(jsonObj.key); //undefined
  }

  /*
//error
	jsonObj.forEach(function(element){
		console.log(element);
	});
	*/
}
visitJsonObj(jsonObj_1);
visitJsonObj(jsonObj_2);

//遍历 json array
//visit json array
function visitJsonArr(jsonArr) {
  console.log("visit json array:");
  for (let i = 0; i < jsonArr.length; i++) {
    console.log(jsonArr[i].key1);
    console.log(jsonArr[i].key2);
  }

  console.log("visit json array:");
  jsonArr.forEach(function (element) {
    console.log(element);
  });

  console.log("visit json array:");
  jsonArr.forEach(function (element, index) {
    console.log(element);
    console.log(index);
  });
}
visitJsonArr(jsonArr_1);

//json object 添加属性
//add key to json object
function addKeyToObj() {
  let jsonObj = {};
  jsonObj.key1 = "value1";
  jsonObj.key2 = "value2";

  //show
  visitJsonObj(jsonObj);
}
//addKeyToObj();

//json array 添加元素 方式1
//add object to json array
function addObjToArr_1(jsonArr, value1, value2) {
  let jsonObj = { key1: value1, key2: value2 };

  jsonArr.push(jsonObj);
}
//addObjToArr_1(jsonArr_1, "add_1", "add_2");
//visitJsonArr(jsonArr_1);

//json array 添加元素 方式2
function addObjToArr_2(jsonArr, jsonObj) {
  jsonArr.push(jsonObj);
}
//addObjToArr_2(jsonArr_1, jsonObj_1);
//visitJsonArr(jsonArr_1);

//json array 删除元素
//delete object in json array
function deleteObj(jsonArr) {
  jsonArr.splice(1, 1); //删除从第(1+1)个开始的1个元素
  //jsonArr.splice(1,1);//删除不存在元素,不会抛出异常
}
//deleteObj(jsonArr_1);

//json array 修改元素
//change object in json array
function changeArr(jsonArr, index, key, newContent) {
  jsonArr[index].key = newContent;
}
changeArr(jsonArr_1, 0, "key1", "newContent");
visitJsonArr(jsonArr_1);

//string与json的转换
//json and string
function transform() {
  let jsonString = '{"key1":123}';
  let jsonObj = JSON.parse(jsonString);
  jsonObj.test = "test";
  let newJsonString = JSON.stringify(jsonObj);

  //show
  console.log(jsonString);
  console.log(newJsonString);
}


transform();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值