如何用python读取json文件里指定的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用python读取json文件里指定的数据相关的知识,希望对你有一定的参考价值。

JSON文件who.json内容如下:

"name": "mss",
"version": "1.0.0",
"description": "Policy issue system",
"main": "app.js",
"scripts":
"dev": "pm2 reload processes.json --env dev",
"test": "pm2 reload processes.json --env test",
"pro": "pm2 reload processes.json",
"start": "node app.js "
,
"keywords": [
"service",
"mss",
"microService"
],
"author": "who@163.com ",
"license": "Apache-2.0",
"dependencies":
"ab": "^2.0.0",
"ae": "^6.1.0",
"af": "^0.16.2",
"co-mysql": "^1.0.0",
"ca": "0.0.3",
"date-utils": "^1.2.21",
"exc": "^0.5.1",
"pgtool": "^7.8.1"



如果通过python读取这个json里"dependencies"里所包含的数据,并进行罗列,将数据转换成:"ab": "^2.0.0"转换成ab@^2.0.0这样的格式?
如有大神回答,请尽量详细,我是python初学者一个。

参考技术A import json

with open('who.json', 'r') as f:
    data = json.load(f)
    dependencies = data['dependencies']
    for k, v in dependencies.iteritems():
        print(f'k@v')

追问

大佬,请问如何对不同目录下的多个who.json进行读取呢?

追答

把所有目录名放到列表里,遍历列表重复上述操作。

本回答被提问者采纳

如何用JAVA NIO读取文件的指定内容?

我有个txt文件,开头是:
width=16;
depth=256;

我想用java读取这两个数据,然后存到变量里面。我查了很多java读文件的代码,似乎能完成这个功能的都是bufferreader之类的函数,但我想用NIO来实现,就是用文件通道,然后读入缓存的方法,请问可不可以用NIO来读我指定的内容,例如width=后面的那个数字呢?
NIO我不管了,那正则怎么写呢?比如我要提取"WIDTH="和分号“;”之间的数字。

Properties类我不懂,你能不能详细说一下呢?

为什么要用NIO?我理解的NIO是管道对管道的时候才用的。既然你的文件里面开头就是这个,为什么不自己读了,拿正则搞一下就出来了呀
补充------
package com.huawei.baidu;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexTest
public static void main(String[] args)
String regex="(width=)(\\d+);";
String testString="width=123;";
Pattern reg = Pattern.compile(regex);
Matcher regexMatcher = reg.matcher(testString);
if(regexMatcher.find())

System.out.println(regexMatcher.group(2));



参考技术A 这种用=号分隔的属性名和值,最好是用Properties类来处理,很方便的。

以上是关于如何用python读取json文件里指定的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何用js取值json的数据

如何用js遍历本地文件

如何用javascript操作本地文件

如何用JAVA NIO读取文件的指定内容?

如何用python读取json里面的值啊

struts2 怎样读取json数据