2015-11-18 1 views
0

J'ai une liste comme ci-dessous dans la file RabbitMQConsommez message de RabbitMQ liste en utilisant pika en Python

[{'id':'10','url':'https://www.google.co.in/search?q=rabbitmq&oq=rabbitmq'},{'id':'11','url':'https://www.google.co.in/search?q=python&oq=python'}] 

tout en consommant ce message, je reçois ce message comme ci-dessous sous forme de chaîne, mais pas comme liste

"[{'id':'10','url':'https://www.google.co.in/search?q=rabbitmq&oq=rabbitmq'},{'id':'11','url':'https://www.google.co.in/search?q=python&oq=python'}]" 

J'ai essayé de convertir cette chaîne à la liste en utilisant ast.literal_eval(my_list) mais obtenir SyntaxError: EOL while scanning string literal

Comment puis-je obtenir/convertir ce message RabbitMQ comme l ist?

Répondre

1

Voici les étapes à faire:

  1. Utilisez guillemet pour le tableau JSON "

  2. Utilisez le module JSON

import json

text = "[{'id':'10','url':'https://www.google.co.in/search?q=rabbitmq&oq=rabbitmq'},{'id':'11','url':'https://www.google.co.in/search?q=python&oq=python'}]"

text2 = text.replace("'", '"')

print json.loads(text2)

+0

J'ai essayé mais obtenir la erreur suivante 'ValueError: chaîne non terminée commençant à: ligne 1 colonne 2 2 (om 21) '. Une solution pour cela? – Prabhakar

+0

Quel est votre code exact? –

+0

Cela fonctionne pour moi. Merci beaucoup. Mon mauvais, j'ai fait une erreur dans l'entrée. – Prabhakar