将JSON文件放入字典

2024-10-03 02:43:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图将一个JSON文件转换成python dict,但失败了。你知道吗

这是我的JSON文件:

me.json

{
    "title": "this is title",
    "Description": " Fendi is an Italian luxury labelarin. ",
    "url": "https:/~"
}

{
    "title": " - Furrocious Elegant Style",
    "Description": " the Italian luxare vast. ",
    "url": "https://www.s"
}

{
    "title": "Rome, Fountains and Fendi Sunglasses",
    "Description": " Fendi started off as a store. ",
    "url": "https://www.~"
}

{
    "title": "Tipsnglasses",
    "Description": "Whether irregular orn season.",
    "url": "https://www.sooic"
}

这是我的python代码:

import json

with open('me.json', 'r') as obj:
    a = obj.read()
    for i in a:
        medict = dict(i)

我不知道它为什么不起作用,有什么问题。你知道吗

有人能帮我处理这个案子吗?你知道吗


Tags: 文件httpsjsonobjurltitleisas
2条回答

您可以使用re模块在输入文件中查找JSON对象(这在JSON format中并不严格),如您的问题所示(即无需修改它):

import ast
import json
from pprint import pprint
import re

with open('me.json', 'r') as obj:
    data = obj.read()
    matches = re.findall(r'({.+?})', data,  re.DOTALL)
    result = [json.loads(m) for m in matches]

pprint(result)

输出:

[{'Description': ' Fendi is an Italian luxury labelarin. ',
  'title': 'this is title',
  'url': 'https:/~'},
 {'Description': ' the Italian luxare vast. ',
  'title': ' - Furrocious Elegant Style',
  'url': 'https://www.s'},
 {'Description': ' Fendi started off as a store. ',
  'title': 'Rome, Fountains and Fendi Sunglasses',
  'url': 'https://www.~'},
 {'Description': 'Whether irregular orn season.',
  'title': 'Tipsnglasses',
  'url': 'https://www.sooic'}]

请使用json.loads
但是,您必须首先将文件中的数据更改为json格式。请使用以下数据。
我添加了[],。你知道吗

[{
    "title": "this is title",
    "Description": " Fendi is an Italian luxury labelarin. ",
    "url": "https:/~"
}
,
{
    "title": " - Furrocious Elegant Style",
    "Description": " the Italian luxare vast. ",
    "url": "https://www.s"
}
,
{
    "title": "Rome, Fountains and Fendi Sunglasses",
    "Description": " Fendi started off as a store. ",
    "url": "https://www.~"
}
,
{
    "title": "Tipsnglasses",
    "Description": "Whether irregular orn season.",
    "url": "https://www.sooic"
}]

请参阅以下代码:

import json

with open('me.json', 'r') as obj:
    a = obj.read()
    medict = json.loads(a)
    print (medict)

结果是:

[{'title': 'this is title', 'Description': ' Fendi is an Italian luxury labelarin. ', 'url': 'https:/~'}, {'title': ' - Furrocious Elegant Style', 'Description': ' the Italian luxare vast. ', 'url': 'https://www.s'}, {'title': 'Rome, Fountains and Fendi Sunglasses', 'Description': ' Fendi started off as a store. ', 'url': 'https://www.~'}, {'title': 'Tipsnglasses', 'Description': 'Whether irregular orn season.', 'url': 'https://www.sooic'}]

相关问题 更多 >