0

Pythonオブジェクトに変換するために使用しようとしてsimplejson.loads(source_urls)います。JSON

source_urls = [u'http://www.google.com', u'http://www.yahoo.com', u'http://www.facebook.com']

その行はロガー出力からのものです。これはリストのように見えますが、実際にはデータベースに文字列として格納されています。

次のエラーが表示されます。

JSONDecodeError:
Expecting object: line 1 column 1 (char 1)

誰にも考えはありますか?

4

2 に答える 2

4

source_urls以下を含む単一の文字列が実際にあると仮定します。

"[u'http://www.google.com', u'http://www.yahoo.com', u'http://www.facebook.com']"

できるよ:

import ast
urls = ast.literal_eval(source_urls)

これにより、真のコード実行は許可されません。「文字列、数値、タプル、リスト、辞書、ブール値、およびなし」のみを処理します。

于 2012-03-01T21:55:23.843 に答える
1

JSON のすべての文字列は、二重引用符で囲む必要があります。参考: http ://simonwillison.net/2006/oct/11/json/

source_urls = '["http://www.google.com", "http://www.yahoo.com", 
                "http://www.facebook.com"]'
simplejson.loads(source_urls)
['http://www.google.com', 'http://www.yahoo.com', 'http://www.facebook.com']

source_urls 文字列が simplejson.dumps によってエンコードされていないように見えます.これが役立つことを願っています..

于 2012-03-01T22:22:32.573 に答える