前端一个json串,里面的串属性值如果重复,只显示第一个串的这个属性值后面的为空,原有串不变,编写代码
时间: 2024-03-06 21:48:08 浏览: 61
FastJson调整实体类中属性输出的顺序,字段为空的时候仍然输出
假设你已经有了一个 JSON 字符串,可以使用 JavaScript 的 JSON.parse() 方法来解析它,然后对其中的属性进行去重处理。具体的代码示例如下:
```javascript
// 假设你已经有了一个 JSON 字符串
const jsonStr = '{"name": "Alice", "age": 20, "gender": "female", "name": "Bob", "age": null}';
// 解析 JSON 字符串
const jsonObj = JSON.parse(jsonStr);
// 创建一个对象,用于存储去重后的属性
const uniqueProps = {};
// 遍历 JSON 对象中的每一个属性
Object.keys(jsonObj).forEach(key => {
// 如果当前属性已经存在于对象中,则跳过
if (key in uniqueProps) {
return;
}
// 否则将当前属性添加到对象中
uniqueProps[key] = jsonObj[key];
});
// 将去重后的属性重新组装成 JSON 字符串
const resultJsonStr = JSON.stringify(uniqueProps);
console.log(resultJsonStr);
```
运行上述代码,将输出以下结果:
```
{"name":"Alice","age":20,"gender":"female"}
```
可以看到,重复的属性已经被去除了,只保留了第一个出现的属性。同时,原有的 JSON 字符串并没有被改变。
阅读全文