Python无法从Kafka加载()嵌套的json

Python无法从Kafka加载()嵌套的json,python,json,apache-kafka,Python,Json,Apache Kafka,我无法使用JSON.dumps()将字符串化的JSON()加载到有效的JSON中。下面是代码和结果。您可以在错误日志中看到错误输入。有没有办法将嵌套字符串转换为有效的json?提前谢谢 async for value in RedisHandler.get_all_keys(): examined_counter += 1 task = None try: task = json.loads(value)

我无法使用
JSON.dumps()
将字符串化的JSON()加载到有效的JSON中。下面是代码和结果。您可以在错误日志中看到错误输入。有没有办法将嵌套字符串转换为有效的json?提前谢谢

    async for value in RedisHandler.get_all_keys(): 
        examined_counter += 1
        task = None
        try:
            task = json.loads(value)
        except Exception as convertJSONException:
            logger.info("Failed converting '%s' into JSON. Skipping." % value)
            continue
印刷品:

[--                 TimeoutHandler] Failed converting '{'description': 'dqwdqdq', 'author': 'spp42admin', 'target_project_uuid': '91115b46-54fa-11e8-9a7c-d4c9ef52f9c6', 'tasklist': [{'opuid': '253e3d0d-5514-11e8-9a7c-d4c9ef52f9c6', 'method': 'split-count', 'parameter': '7', 'optional_parameters': '{"codec":"libx264"}', 's3_credentials': {'service_name': 's3', 'aws_access_key_id': '********', 'aws_secret_access_key': '*********', 'endpoint_url': 'http://localhost:9000', 'bucket_uuid': '91115b46-54fa-11e8-9a7c-d4c9ef52f9c6'}, 'srcpath': 'videos/397939d2-550c-11e8-9a7c-d4c9ef52f9c6/test.mp4', 'destpath': 'operations/253e3d0d-5514-11e8-9a7c-d4c9ef52f9c6', 'videoname': 'test.mp4', 'codec': 'mpeg4', 'progress': 1, 'parent_operation_uuid': '253f87b6-5514-11e8-9a7c-d4c9ef52f9c6', 'estimated_timeout': 1526042364}], 's3_credentials': {'service_name': 's3', 'aws_access_key_id': '**********', 'aws_secret_access_key': '***********', 'endpoint_url': 'http://localhost:9000', 'bucket_uuid': '91115b46-54fa-11e8-9a7c-d4c9ef52f9c6'}, 'video_uuid': '397939d2-550c-11e8-9a7c-d4c9ef52f9c6', 'parent_videodocument_uuid': '397939d3-550c-11e8-9a7c-d4c9ef52f9c6', 'parent_project_uuid': '91115b46-54fa-11e8-9a7c-d4c9ef52f9c6', 'progress': 0, 'operation_uuid': '253f87b6-5514-11e8-9a7c-d4c9ef52f9c6'}' into JSON. Skipping.
可选参数是导致错误的参数

TLDR:如何使用JSON.dumps将下面的字符串转换为JSON


“{'description':'dqwdqdq','author':'spp42admin','target_project_uuid':'91115b46-54fa-11e8-9a7c-d4c9ef52f9c6','tasklist':[{'opuid':'253e3d0d-5514-11e8-9a7c-d4c9ef52f9c6','方法','分割计数','parameter':'7','可选_参数':''{'codec:'LIB264','s3\U凭证':{'service_name':'s3','aws_access_key_id':'********','aws_secret_access_key':'*****','endpoint_url':'','bucket_id':'91115b46-54fa-11e8-9a7c-d4c9ef52f9c6'},“srcpath”:“videos/397939d2-550c-11e8-9a7c-d4c9ef52f9c6/test.mp4”,“destpath”:“operations/253e3d0d-5514-11e8-9a7c-d4c9ef52f9c6”,“videoname”:“test.mp4”,“codec”:“mpeg4”,“progress”:1,“父操作”uuid:“F82537B6-5514-11e8-9a7c-d4c9ef52f9c6”,“估计超时”:1526042364}”“

那些反斜杠不应该在那里。如果你用javascript打印结果会是什么样子?应该是:
{“foo”:“bar”,“foo_two”:{“bar”:“baz”}}”
@dpwrussell是的,我用javascript测试了它,似乎没有什么问题。嵌套的json成功地字符串化了。但是,我不能使用
json.loads()
在这一点上。在python端,我打印从JavaScript得到的响应,我看到了这些反斜杠。可能是因为它在转换过程中被序列化/反序列化。老实说,响应不是完全有效的JSON。你能尝试执行
JSON.dumps()吗
看看它给了你什么?也许你可以加载结果。@Wald结果是我无法将其放入foo、bar、baz中。我发布了实际的代码和错误消息。也许它可以帮助你解决问题。非常感谢你的努力。另外,你需要更小心地使用AWS凭据。你需要使你使用的密钥无效我在这里贴的。