一、js合并json
在开发中,经常需要对json数据进行合并操作,以达到整合数据的目的。在JavaScript中,可以通过以下两种方法对json数据进行合并操作。
1.使用Object.assign方法
let obj1 = {"name": "张三", "age": 20}; let obj2 = {"sex": "男", "address": "北京"}; let obj3 = Object.assign({}, obj1, obj2); console.log(obj3); //输出结果为:{"name": "张三", "age": 20, "sex": "男", "address": "北京"}
在上述代码中,首先定义了两个json数据obj1和obj2,然后使用Object.assign方法,将两个json数据合并到一个新的json数据obj3中。Object.assign方法中第一个参数为目标对象,后面的参数为源对象,即将后面的对象合并到第一个对象后。如果目标对象与源对象有重复的属性,后面的属性将覆盖前面的属性。
2.使用ES6的展开运算符
let obj1 = {"name": "张三", "age": 20}; let obj2 = {"sex": "男", "address": "北京"}; let obj3 = {...obj1, ...obj2}; console.log(obj3); //输出结果为:{"name": "张三", "age": 20, "sex": "男", "address": "北京"}
在上述代码中,也是定义了两个json数据obj1和obj2,然后使用ES6的展开运算符,将两个json数据合并到一个新的json数据obj3中。展开运算符也是将多个对象合并到一个新的对象中。
二、jsjson转数组
在JavaScript中,Json数据可以通过Json.parse方法转换为数组。Json.parse方法将Json数据转换为JavaScript对象,通过对象的属性和方法进一步处理数据。而JavaScript对象可以通过Object.keys方法获取属性名,通过Object.values方法获取属性值。
let jsonStr = '[{"name": "张三", "age": 20}, {"name": "李四", "age": 22}]'; let jsonArray = JSON.parse(jsonStr); console.log(jsonArray); //输出结果为:[{"name": "张三", "age": 20}, {"name": "李四", "age": 22}] console.log(Object.keys(jsonArray[0])); //输出结果为:["name", "age"] console.log(Object.values(jsonArray[0])); //输出结果为:["张三", 20]
三、js合并数组api
在JavaScript中,可以使用concat方法和Spread语法对数组进行合并操作。下面依次介绍这两种方法。
1.使用concat方法
let arr1 = [1, 2, 3]; let arr2 = ['a', 'b', 'c']; let arr3 = arr1.concat(arr2); console.log(arr3); //输出结果为:[1, 2, 3, 'a', 'b', 'c']
在上述代码中,首先定义了两个数组arr1和arr2,然后使用concat方法,将两个数组合并到一个新的数组arr3中。
2.使用Spread语法
let arr1 = [1, 2, 3]; let arr2 = ['a', 'b', 'c']; let arr3 = [...arr1, ...arr2]; console.log(arr3); //输出结果为:[1, 2, 3, 'a', 'b', 'c']
在上述代码中,也是定义了两个数组arr1和arr2,然后使用Spread语法,将两个数组合并到一个新的数组arr3中。Spread语法也是将多个数组或对象合并到一个新的数组或对象中。
四、jsjson转对象
在JavaScript中,Json数据可以通过Json.parse方法转换为JavaScript对象。但Json数据的格式与JavaScript对象的格式不同,需要进行相应的转换,方法如下。
let jsonStr = '{"name": "张三", "age": 20}'; let jsonObj = JSON.parse(jsonStr); console.log(jsonObj); //输出结果为:{"name": "张三", "age": 20}
五、jsjson添加元素的方法
在JavaScript中,可以使用以下方法向Json数据中添加元素。
1.直接添加元素
let obj = {"name": "张三", "age": 20}; obj.sex = "男"; console.log(obj); //输出结果为:{"name": "张三", "age": 20, "sex": "男"}
在上述代码中,直接在Json数据中添加新的属性。注意,在Json数据中添加属性时,需要使用"."或"[]"操作符。
2.使用Object.defineProperty方法
let obj = {"name": "张三", "age": 20}; Object.defineProperty(obj, "sex", { value: "男", enumerable: true, writable: false, configurable: true }); console.log(obj); //输出结果为:{"name": "张三", "age": 20, "sex": "男"}
在上述代码中,使用Object.defineProperty方法向Json数据中添加新的属性。该方法可以设置新属性的特性。
3.使用Object.defineProperties方法
let obj = {"name": "张三", "age": 20}; Object.defineProperties(obj, { sex: { value: "男", enumerable: true, writable: false, configurable: true }, address: { value: "北京", enumerable: true, writable: false, configurable: true } }); console.log(obj); //输出结果为:{"name": "张三", "age": 20, "sex": "男", "address": "北京"}
在上述代码中,使用Object.defineProperties方法可以向Json数据中添加多个新的属性。