📜  循环遍历 json 数组 python - Javascript (1)

📅  最后修改于: 2023-12-03 15:25:37.390000             🧑  作者: Mango

循环遍历 JSON 数组 Python - JavaScript

在编写 Web 应用程序时,JSON 成为了交换数据的流行方式之一。JSON(JavaScript Object Notation) 是一种轻量级的数据格式,易于阅读和编写,并且易于解析和生成。JSON 数据通常是以数组的形式存在。遍历 JSON 数组是一种常见的需求。

在本文中,我们将介绍如何使用 Python 和 JavaScript 来循环遍历 JSON 数组,以及使用库进行更高效的操作。

Python

Python 有一个内置的 JSON 模块,可以轻松地将 JSON 数据读取为 Python 对象。Python 代码可以使用以下方式遍历 JSON 数组:

import json

json_string = '[{"name": "John Doe", "age": 30}, {"name": "Jane Doe", "age": 25}]'
json_object = json.loads(json_string)

for item in json_object:
    print(item["name"], item["age"])

在上面的代码示例中,json.loads 方法将 JSON 字符串转换为 Python 对象,然后使用 for 循环遍历数组中的每个对象,并且通过键获取数组对象的属性值。

JavaScript

在 JavaScript 中,也有内置的 JSON 对象,可以轻松地将 JSON 数据读取为 JavaScript 对象。使用以下方式可以循环遍历 JSON 数组:

var json_string = '[{"name": "John Doe", "age": 30}, {"name": "Jane Doe", "age": 25}]';
var json_object = JSON.parse(json_string);

for(var i = 0; i < json_object.length; i++) {
    console.log(json_object[i].name, json_object[i].age);
}

在上面的代码示例中,JSON.parse 方法将 JSON 字符串转换为 JavaScript 对象,然后使用 for 循环遍历数组中的每个对象,并且通过键获取数组对象的属性值。

使用第三方库

循环遍历 JSON 数组是一种常见的操作,可以使用第三方库来简化代码。Python 可以使用 jsonpath-ng 库,而 JavaScript 可以使用 jsonpath 库。以下示例演示了如何使用这些库来遍历 JSON 数组:

Python

from jsonpath_ng import jsonpath, parse
import json

json_string = '{"users": [{"name": "John Doe", "age": 30}, {"name": "Jane Doe", "age": 25}]}'
json_object = json.loads(json_string)

for match in parse("$.users[*]").find(json_object):
    print(match.value["name"], match.value["age"])

上面的代码中,使用熟悉的 json.loads 将 JSON 字符串转换为 Python 对象,使用 jsonpath_ng 库和 parse 方法从对象中提取 JSONPath 表达式匹配的值,然后使用 for 循环遍历所有匹配项。

JavaScript

var jsonpath = require('jsonpath');
var json = {"users": [{"name": "John Doe", "age": 30}, {"name": "Jane Doe", "age": 25}]};

var matches = jsonpath.query(json, '$.users[*]');

matches.forEach(function(match) {
    console.log(match.name, match.age);
});

上面的代码中,使用 jsonpath 模块从 JSON 对象中提取 JSONPath 表达式匹配的值,使用 forEach 方法遍历所有匹配项。

总结

本文介绍了如何使用 Python 和 JavaScript 遍历 JSON 数组。虽然我们没有使用任何库来完成本文中的操作,但是为了更高效便捷地完成此类操作,可以使用第三方库 jsonpath-ngjsonpath 等等。