title: type object argument after ** must be a mapping, not str
body: <p>I wanna get json from the site and change it into python object. 
  I wrote this code but it shows me this error:</p>
  
  <pre><code>    ----- line 25, in &lt;module&gt;
      meme_list.append(meme(**u))
  TypeError: type object argument after ** must be a mapping, not str
  </code></pre>
  
  <p>here is my code:</p>
  
  <pre><code>import requests
  import json
  
  url = 'https://api.imgflip.com/get_memes'
  headers = {'Accept': 'application/json'}
  response = requests.get(url, headers=headers)
  with open('meme_imgflip.json', 'wb') as outf:
      outf.write(response.content)
  
  class meme:
      def __init__(self, name, url, id):
          self.name = name
          self.url = url
          self.id = id
      @staticmethod
      def from_json(meme_string):
          return meme(**json_dict)
      def __repr__(self):
          return f'&lt;meme {self.id}&gt;'
  
  meme_list = []
  with open('meme_imgflip.json', 'r') as json_file:
      meme_data = json.loads(json_file.read())
      for u in meme_data:
          meme_list.append(meme(**u))
  print (meme_list)
  </code></pre>