我有一個函數返回一個json
格式化爲dict
。我正在使用json.dumps()
存儲到一個對象中,我稍後在代碼中打印該對象。我得到的退款不是我期望的典型格式json
。爲什麼json.dumps()沒有返回預期的格式?
相關的代碼片段:
rasa_decoded_output = interpreter.parse(u"{}".format(textobject.body))
rasa_json_formatted_output = json.dumps(rasa_decoded_output)
打印rasa_json_formatted_output
結果在這個(例子):
("text": "This is a test", "entities": < >, "intent_ranking": < ("confidence": 0.71653000212560282, "name": "st_testing"), ("confidence": 0.05410130707298815, "name": "exists_item"), ("confidence": 0.024777391815713805, "name": "concierge_contact_request"), ("confidence": 0.020174561099034895, "name": "exists_sauna"), ("confidence": 0.018203983982849743, "name": "issue_bugs"), ("confidence": 0.017985724341235722, "name": "exists_driver"), ("confidence": 0.01687271448223236, "name": "request_power_adapter - custom"), ("confidence": 0.016857156745106013, "name": "request_newroom"), ("confidence": 0.015943797930370658, "name": "presto_cost"), ("confidence": 0.015567442054810358, "name": "exists_spa") >, "intent": ("confidence": 0.07653000212560282, "name": "st_testing"))
什麼做錯了嗎?應該調整什麼來讓json以其典型格式返回,以便我可以解析並提取所需的屬性。
此外,如果我只是打印rasa_decoded_output
它與打印rasa_json_formatted_output
一樣,這表明json.dumps()
沒有任何效果。
使用json.loads()
上rasa_decoded_output
導致錯誤TypeError: the JSON object must be str, not 'dict'
「解釋器」究竟是什麼?你是如何初始化它的? – DyZ
@DYZ解釋器是我從另一個文件導入的函數,具有'from rasa_nlu.model import Metadata,Interpreter' – hackerman
您可以仔細檢查輸出嗎?你的例子在Python和JSON中都是非法的。 – DyZ