0

以下の構成では、Web サービスを介して JSON オブジェクトを渡そうとしています。sent新しい要件として、以下のコードにある辞書オブジェクトを渡す必要があります。辞書を JSON オブジェクトに追加する方法を教えてください。

if plain_text is not None:
        blob = TextBlob(plain_text)
        sentiment = TextBlob(plain_text)
        sent = {}
        for sentence in blob.sentences:
            sent[sentence] =sentence.sentiment.polarity
        print sent
        return json.dumps(
            {'input' : plain_text, 
             'Polarity': sentiment.polarity,                 
             #'sent': json.dumps(sent) # this is where I am stuck as this 'sent' is a dict
             },
            indent=4)

行のコメントを外すと、次のエラーが表示されます。

Exception:

TypeError('keys must be a string',)
Traceback:
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\bottle-0.12.7-py2.7.egg\bottle.py", line 862, in _handle
    return route.call(**args)
  File "C:\Python27\lib\site-packages\bottle-0.12.7-py2.7.egg\bottle.py", line 1729, in wrapper
    rv = callback(*a, **ka)
  File "C:\Users\hp\Desktop\RealPy\WebServices\bottle\server_bckup.py", line 53, in sentimentEngine
    'sent': json.dumps(sent),
  File "C:\Python27\lib\json\__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "C:\Python27\lib\json\encoder.py", line 201, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "C:\Python27\lib\json\encoder.py", line 264, in iterencode
    return _iterencode(o, 0)
TypeError: keys must be a string
4

1 に答える 1