json.dumps()を使って文字列にした場合と、str()を使って文字列にした場合で
一体何が違うのかよく分からないんですが、よく分からなくても素直にjson.dumps()を使っておけば良いという感じなんでしょうか?

下のコードだとエラーになってしまうのですが、json.dumps()を使った場合との違いがよく判らないなと思って…

import json
testDict = {'test': {'aaa': 'bbb', 'ccc': 0.0, 'ddd': 0.0}}
testStrDirectDict = str(testDict)
test = json.loads(testStrDirectDict)
print(test["test"]["aaa"])