通过遍历给js的json对象增加多个相同key,只是value不同,案例
时间: 2024-03-09 08:45:40 浏览: 56
假设我们有以下的 JSON 对象:
```javascript
var obj = {
"name": "John",
"age": 30
};
```
我们可以通过遍历对象并给每个 key 增加一个相同的属性,代码如下:
```javascript
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
obj[key + '_new'] = obj[key] + '_new';
}
}
```
这样就会在原有的 JSON 对象上增加了一个 `_new` 后缀的属性,例如 `name_new` 和 `age_new`。完整的代码如下:
```javascript
var obj = {
"name": "John",
"age": 30
};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
obj[key + '_new'] = obj[key] + '_new';
}
}
console.log(obj);
```
输出结果为:
```javascript
{
"name": "John",
"age": 30,
"name_new": "John_new",
"age_new": "30_new"
}
```
相关问题
JS遍历Map中JSON对象
可以回答这个问题。JS遍历Map中JSON对象的方法可以使用Map的forEach方法或者for...of循环来实现。具体实现方法可以参考以下代码:
```
let myMap = new Map();
myMap.set("key1", {name: "张三", age: 20});
myMap.set("key2", {name: "李四", age: 25});
// 使用forEach方法遍历Map中的JSON对象
myMap.forEach(function(value, key) {
console.log(key + " : " + JSON.stringify(value));
});
// 使用for...of循环遍历Map中的JSON对象
for(let [key, value] of myMap) {
console.log(key + " : " + JSON.stringify(value));
}
```
python 遍历获取json key 对应的 多个value
可以使用递归函数来遍历 JSON 中的所有键值对,并查找指定键的多个值。以下是一个示例代码:
```python
def find_values(key, json_dict):
results = []
# 如果当前值是一个字典,则递归调用自身
if isinstance(json_dict, dict):
for k, v in json_dict.items():
if k == key:
results.append(v)
elif isinstance(v, dict):
results.extend(find_values(key, v))
elif isinstance(v, list):
for item in v:
results.extend(find_values(key, item))
# 如果当前值是一个列表,则递归调用自身
elif isinstance(json_dict, list):
for item in json_dict:
results.extend(find_values(key, item))
return results
```
这个函数接受两个参数:要查找的键和 JSON 字典。它会递归地遍历整个 JSON 树,查找所有与指定键匹配的值,并将它们添加到结果列表中。如果值是一个列表或字典,则递归调用自身来查找更多匹配项。
以下是一个使用示例:
```python
import json
# 示例 JSON 数据
json_data = '''
{
"name": "John",
"age": 30,
"pets": [
{"name": "Fluffy", "type": "cat"},
{"name": "Fido", "type": "dog"}
],
"friends": [
{"name": "Alice", "age": 28},
{"name": "Bob", "age": 35}
]
}
'''
# 将 JSON 数据解析为 Python 对象
data = json.loads(json_data)
# 查找 "name" 对应的所有值
results = find_values("name", data)
print(results) # 输出: ['John', 'Fluffy', 'Fido', 'Alice', 'Bob']
```
在这个示例中,我们将 JSON 数据解析为 Python 对象,并使用 `find_values` 函数查找所有名为 "name" 的值。结果是一个包含所有匹配值的列表,包括顶层键值对和嵌套在列表和字典中的值。
阅读全文