使用python json.dump(数组,outfile)将数据转储到outputfile

使用python json.dump(数组,outfile)将数据转储到outputfile,python,json,dump,Python,Json,Dump,我正在尝试使用以下代码将我从站点“刮取”的数据写入json输出文件: from bs4 import BeautifulSoup import requests import json path = ["https://www.test.be?page=,https://www.test2.be?page="] adresArr = [] for i in path: pagina = 0; for x in range(0, 4): url = i + st

我正在尝试使用以下代码将我从站点“刮取”的数据写入json输出文件:

from bs4 import BeautifulSoup
import requests
import json

path = ["https://www.test.be?page=,https://www.test2.be?page="]

adresArr = []
for i in path:
    pagina = 0;
    for x in range(0, 4):
        url = i + str(pagina)
        response = requests.get(url, timeout=5)
        content = BeautifulSoup(response.content, "html.parser")
        for adres in content.findAll('tr', attrs={"class": "odd clickable-row"}):
            adresObject = {
                "postcode": adres.find('td', attrs={"class": "views-field views-field-field-locatie-postal-code"}).text.encode('utf-8'),
                "naam": adres.find('td', attrs={"class": "views-field views-field-field-locatie-thoroughfare"}).text.encode('utf-8'),
                "plaats": adres.find('td', attrs={"class": "views-field views-field-field-locatie-locality"}).text.encode('utf-8')
            }
            adresArr.append(adresObject)


        for adres in content.findAll('tr', attrs={"class": "odd clickable-row active"}):
            adresObject = {
                "postcode": adres.find('td', attrs={"class": "views-field views-field-field-locatie-postal-code"}).text.encode('utf-8'),
                "naam": adres.find('td', attrs={"class": "views-field views-field-field-locatie-thoroughfare"}).text.encode('utf-8'),
                "plaats": adres.find('td', attrs={"class": "views-field views-field-field-locatie-locality"}).text.encode('utf-8')
            }
            adresArr.append(adresObject)

            pagina = x

    with open('adresData.json', 'w') as outfile:
         json.dump(adresArr, outfile)

我收到以下错误类型为bytes的对象不可json序列化

如果我打印阵列本身,它看起来就可以了。但我一直在把它写到json文件中。 我做错了什么

这是我第一次用python编写代码(并没有太多的编码经验),所以请明确回答,以便理解:)


提前感谢您解决此问题。。。您只需要转换元素的数据类型 以下是先前回答的同一问题的参考


这可能有助于以下几行:

"postcode": adres.find('td', attrs={"class": "views-field views-field-field-locatie-postal-code"}).text.encode('utf-8')
.text
结果应该已经是一个字符串
.encode('utf-8')
使其成为json库抱怨的
字节
对象。所以只需关闭它:
adres.find('td',attrs={“class”:“views-field-views-field-locatie-postal-code“})。text


背景信息:字节是信息的原始单位;字符串是我们表示文本的方式。我们对字符串进行编码以生成用于存储的字节;我们解码字节以得到一个字符串。但是JSON已经被设计用于处理字符串——当它实际写入磁盘时,库将为您处理文件编码。

谢谢,这解决了我的问题。我明白我现在做错了什么:)