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();