簡體   English   中英

如何解析python中的這個json數據

[英]how to parse this json data in python

例如,我有以下 JSON:

{
  "name": "test",
  "version": "0.2.0",
  "lock": 1,
  "requires": true,
  "dependencies": {
    "@yamm/double": {
      "version": "7.14.5",
      "requires": {
        "@ginu/highlight": "^7.4.5"
      }
    },
    "@dauh/data": {
      "version": "7.15.0",
    },
    "@babel/core": {
      "version": "7.12.3",
      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz",
      "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==",
      "requires": {
        "@babel/traverse": "^7.12.1",
        "@babel/types": "^7.12.1",
        "convert-source-map": "^1.7.0",
        "debug": "^4.1.0",
        "gensync": "^1.0.0-beta.1",
        "json5": "^2.1.2",
        "lodash": "^4.17.19",
        "resolve": "^1.3.2",
        "semver": "^5.4.1",
        "source-map": "^0.5.0"
      },

我只想打印里面的數據requires使用Python

我正在嘗試不同的方法,但它不起作用。 請幫忙。 我該怎么做?

另一種方法:

data = {
  "name": "test",
  "version": "0.2.0",
  "lock": 1,
  "requires": 'true',
  "dependencies": {
    "@yamm/double": {
      "version": "7.14.5",
      "requires": {
        "@ginu/highlight": "^7.4.5"
      }
    },
    "@dauh/data": {
      "version": "7.15.0",
    },
    "@babel/core": {
      "version": "7.12.3",
      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz",
      "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==",
      "requires": {
        "@babel/traverse": "^7.12.1",
        "@babel/types": "^7.12.1",
        "convert-source-map": "^1.7.0",
        "debug": "^4.1.0",
        "gensync": "^1.0.0-beta.1",
        "json5": "^2.1.2",
        "lodash": "^4.17.19",
        "resolve": "^1.3.2",
        "semver": "^5.4.1",
        "source-map": "^0.5.0"
      },
    }
}
}

# Actual code starts here
for module, dependencies in data['dependencies'].items():
    if requires := dependencies.get('requires'):
        print (f'Module {module} requires: ')
        for req, version in requires.items():
            print (f'\t{req}: {version}')

Output:

Module @yamm/double requires: 
    @ginu/highlight: ^7.4.5
Module @babel/core requires: 
    @babel/traverse: ^7.12.1
    @babel/types: ^7.12.1
    convert-source-map: ^1.7.0
    debug: ^4.1.0
    gensync: ^1.0.0-beta.1
    json5: ^2.1.2
    lodash: ^4.17.19
    resolve: ^1.3.2
    semver: ^5.4.1
    source-map: ^0.5.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM