Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python读取json文件并打印键值_Python_Json_Key - Fatal编程技术网

使用python读取json文件并打印键值

使用python读取json文件并打印键值,python,json,key,Python,Json,Key,我想要一个条件循环,它应该读取json文件,并根据“user_name”匹配列表中的项目打印“postId” 我试着用这些婴儿步去看,但没用 Python版本:2.7.5 操作系统:Linux 下面是python脚本: import sys import re import json my_list = ['windows-super-user','linux user','unix_super_user'] for list_item in my_list: with open('

我想要一个条件循环,它应该读取json文件,并根据“user_name”匹配列表中的项目打印“postId”

我试着用这些婴儿步去看,但没用

Python版本:2.7.5 操作系统:Linux

下面是python脚本:

import sys
import re
import json

my_list = ['windows-super-user','linux user','unix_super_user']

for list_item in my_list:
    with open('strings.json') as f:
        d = json.load(f)
        for userid in d:
            if list_item ==  user_name: 
                print("Here's the user name :" +user_name+ ", and post id :" +postid)
下面是strings.json文件内容

[
    {
        "postId":"328e9497740b456154c636349",
        "postTimestamp": "1521543600",
        "pageType": "/home.php:topnews",
        "viewTime": 1521545993647,
        "user_name": "windows-super-user",
        "gender": 3,
        "likes": "8",
        "id": "ffa1e07529ac917f6d573a",
        "postImg": 1,
        "postDesc": [753],
        "origLink": 0,
        "duration": 0,
        "timestamp": 9936471521545,
        "back_time": 1521545993693
    },
    {
        "postId":"15545154c636349",
        "postTimestamp": "547773600",
        "pageType": "/home.php:topnews",
        "viewTime": 45993647,
        "user_name": "linux user",
        "gender": 3,
        "likes": "8",
        "id": "695e45a17f6d573a",
        "postImg": 1,
        "postDesc": [953],
        "origLink": 0,
        "duration": 0,
        "timestamp": 545993647,
        "back_time": 85993693
    },
    {
        "postId":"9098897740b456154c636349",
        "postTimestamp": "899943600",
        "pageType": "/home.php:topnews",
        "viewTime": 1521545993647,
        "user_name": "unix_super_user",
        "gender": 3,
        "likes": "8",
        "id": "917f6d573a695e45affa1e07",
        "postImg": 1,
        "postDesc": [253],
        "origLink": 0,
        "duration": 0,
        "timestamp": 193647,
        "back_time": 1521545993693
    },

]
预期产出:

以下是用户名:windows超级用户和帖子id:328e9497740b456154c636349
这是用户名:linux用户,post id:15545154c636349
这是用户名:unix_super_user,post id:9098897740b456154c6349


尝试如下迭代:

import sys
import re
import json

my_list = ['windows-super-user','linux user','unix_super_user']

with open('strings.json') as f:
  d = json.load(f)
  for elem in d:
    if elem["user_name"] in my_list:
      print("Here's the user name :" +elem["user_name"]+ ", and post id :" +elem["postId"])

我打开文件并加载json,就像您所做的那样。但我只打开一次文件,并检查是否与
用户名匹配。如果找到匹配项,我会打印出名称和帖子id。

尝试如下迭代:

import sys
import re
import json

my_list = ['windows-super-user','linux user','unix_super_user']

with open('strings.json') as f:
  d = json.load(f)
  for elem in d:
    if elem["user_name"] in my_list:
      print("Here's the user name :" +elem["user_name"]+ ", and post id :" +elem["postId"])

我打开文件并加载json,就像您所做的那样。但我只打开一次文件,并检查是否与
用户名匹配。如果找到匹配项,我会打印出姓名和帖子id。

谢谢karan。您知道有没有简单的方法可以将json文件中的所有单引号转换为双引号。e、 上面提到的json文件strings.json在我的例子中都是单引号;将open('strings.json')设为f:data=json.dumps(f)print(data)error:TypeError:type'TextIOWrapper'的对象不是json可序列化的^m根据post上的答案,可以执行以下操作:
f=open('strings.json',r')s=f.read().strip()l=eval(s)json.dumps(l)
它只打印一个值,这是用户名:windows超级用户和post id:328e9497740b456154c636349,而不是全部三个语句,这是用户名:windows超级用户,post id:328e9497740b456154c636349这是用户名:linux用户,post id:15545154c636349这是用户名:unix\u超级用户,post id:9098897740b456154c636349I检查了代码并使用您提供的json运行,它提供了所有三个输出。你有没有改变什么?如果你能更新你正在使用的代码,我会尽力帮你的。谢谢karan。您知道有没有简单的方法可以将json文件中的所有单引号转换为双引号。e、 上面提到的json文件strings.json在我的例子中都是单引号;将open('strings.json')设为f:data=json.dumps(f)print(data)error:TypeError:type'TextIOWrapper'的对象不是json可序列化的^m根据post上的答案,可以执行以下操作:
f=open('strings.json',r')s=f.read().strip()l=eval(s)json.dumps(l)
它只打印一个值,这是用户名:windows超级用户和post id:328e9497740b456154c636349,而不是全部三个语句,这是用户名:windows超级用户,post id:328e9497740b456154c636349这是用户名:linux用户,post id:15545154c636349这是用户名:unix\u超级用户,post id:9098897740b456154c636349I检查了代码并使用您提供的json运行,它提供了所有三个输出。你有没有改变什么?如果你能更新你正在使用的代码,我可以帮你