将 json 解释为字符串,如何将其解释为 json? [复制]

Posted

技术标签:

【中文标题】将 json 解释为字符串,如何将其解释为 json? [复制]【英文标题】:Interpreting json as string, how can I interpretate it as json? [duplicate] 【发布时间】:2020-09-14 15:41:40 【问题描述】:

我有一个任务要处理文件 https://github.com/mledoze/countries/blob/master/countries.json ,它非常大。首先,我使用wget 下载它并尝试使用 0 元素:

import wget

print('Beginning file download with wget module')

url = 'https://raw.githubusercontent.com/mledoze/countries/master/countries.json'
wget.download(url, 'сountries.json')

handle = open("сountries.json", "r")
data = handle.read()
print(data[0])
handle.close()

但是,整个 json 文件被识别为“str”,并且作为 0 元素我只收到“[”我该如何解决这个问题?

【问题讨论】:

也许您的意思是使用内置的json 模块将字符串解码为列表。 是的,JSON 一个字符串。从任何文件中读取,您总是会读取字符串。您永远不会直接从文件中读取对象。您必须使用 json.load 解码 JSON。 【参考方案1】:

data 是一个字符串。您必须首先将其解码为(显然)一个列表。

import json


with open("countries.json") as handle:
    data = json.load(handle)
    print(data[0])

【讨论】:

FileNotFoundError: [Errno 2] No such file or directory: 'countries.json',但我清楚地看到在工作项目文件夹中有一个文件“countries.json”

以上是关于将 json 解释为字符串,如何将其解释为 json? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

请解释我们如何将因子变量转换为 R 中的数字

如何将 JSON 格式的数据从 WebView 传递到 HTML 页面

使用 jQuery jPut 将 JSON 转换为 HTML

使用 JAX-RS 将 JSON 查询参数转换为对象

强制熊猫将列中的 (1,2) 解释为字符串而不是范围?

如何将字符串转换为 JSON,以便我可以将其解析为对象