title: can't read json file with python. getting type error: json object is 'TextIOWrapper'
body: <p>I'm trying to read from a json file.</p>
  
  <p>This is how I created the file:</p>
  
  <pre><code>import requests
  import json
  import time
  from pprint import pprint
  
  BASE_URL = "https://www.wikiart.org/en/api/2/UpdatedArtists"
  artist_json_data = requests.get(BASE_URL).json()
  
  with open('artistdata.json', 'w') as outfile:
      while artist_json_data['hasMore']:
          print(artist_json_data['paginationToken'])
          url = BASE_URL + "?paginationToken=" +artist_json_data['paginationToken']
          artist_json_data = requests.get(url).json()
          json.dump(artist_json_data, outfile, indent=4)
          time.sleep(1)
  </code></pre>
  
  <p>This is the beginning of my output:</p>
  
  <pre><code>{
      "data": [
          {
              "id": "57726da5edc2cb3880b4ca54",
              "artistName": "Paul Feeley",
              "url": "paul-feeley",
              "lastNameFirst": "Feeley Paul",
              "birthDay": "/Date(-1893456000000)/",
              "deathDay": "/Date(-126230400000)/",
  </code></pre>
  
  <p>When I try to read the same file with following code: </p>
  
  <pre><code>from pprint import pprint
  
  with open('artistdata.json', 'r', encoding='utf-8') as data_file:    
      data = json.loads(data_file)
      pprint(data)
  </code></pre>
  
  <p>I get the error</p>
  
  <pre><code>TypeError: the JSON object must be str, bytes or bytearray, not 'TextIOWrapper'
  </code></pre>
  
  <p>which I don't understand, because I can open the file in sublime as usual. How can I handle this?</p>
  
  <h2><strong>Solved the issue with following code:</strong></h2>
  
  <p>the issue was that I mixed dumps and load. Now I am using dump and load</p>
  
  <pre><code>class Wikiart:
      '''Class to access wikiart.org Data'''
      def __init__(self):
          self.BASE_URL = "https://www.wikiart.org/en/"
          self.BASE_URL_API = self.BASE_URL + "api/2/"
          self.BASE_URL_MOVEMENT = self.BASE_URL + 'artists-by-art-movement/'
          self.ARTIST_DATA_URL = self.BASE_URL_API + "UpdatedArtists"
  
      def write_artist_data_into_json_file(self):
              artists = requests.get(ARTIST_DATA_URL).json()
              all_artists = artists['data']
  
              with open('artistdata.json', 'w') as outfile:
                  while artists['hasMore']:
                      print('fetching next: pagination token',artists['paginationToken'])
                      url = BASE_URL + "?paginationToken=" + artists['paginationToken']
                      artists_next_page = requests.get(url).json()
                      next_artists = artists_next_page['data']
                      time.sleep(0.25)
                      all_artists = all_artists + next_artists
                      artists = artists_next_page
                  json.dump(all_artists, outfile, indent=4)
  
  from pprint import pprint
  
  with open('artistdata.json', 'r', encoding='utf-8') as data_file:    
      data = json.load(data_file)
      pprint(data)
  </code></pre>