L'édition Existant JSON en Python
Je suis en tirant dans certains JSON à partir d'un serveur dans le format donné:
{"images": [{"rating": 5.0, "thumburl": "http://something.jpg", "description": "dfgd", "submitdate": "2011-01-29T07:54:02", "submituser": "J", "imagekey": "a"}, ...]}
J'ai du ajouter un nouvel élément "viewurl" pour chaque élément à l'aide de la "imagekey." Par exemple, le résultat serait
{"images": [{"rating": 5.0, "thumburl": "http://something.jpg", "description": "dfgd", "submitdate": "2011-01-29T07:54:02", "submituser": "J", "imagekey": "a", "viewurl": "/view?imagekey=a"}, ...]}
Il y a probablement un moyen facile de le faire, mais je vais avoir du mal à trouver beaucoup sur simplejson autres que les dumps et de la charge.
Vous devez vous connecter pour publier un commentaire.
Est-ce que vous essayez de faire?
Vous pouvez également utiliser un object_hook. Ce qui fonctionne pour votre exemple, mais vous pouvez tricher un peu en fonction de vos données réelles:
La raison pour laquelle je mentionne la possibilité d'un besoin d'ajuster, c'est parce que dans sa forme actuelle, le
addImageKey
object_hook va ajouter de la viewurl clé/valeur à n'importe quel objet au sein de votre structure JSON qui contient unimagekey
clé déjà. Donc, vous pourriez avoir à utiliser quelque chose de plus spécifique pour les éléments deimages
en cas de besoin.Oh, et si vous souhaitez encoder de nouveau à une chaîne JSON, vous pouvez simplement modifier la dernière ligne de
En fonction de la quantité de données que vous décodage/encodage, je suggère la possibilité d'utiliser cjson de ré-encoder les données. Il est rapide comme l'éclair en comparaison à simplejson/json. Malheureusement, il n'a pas de support pour des choses comme object_hook.
Je suppose que le plus simple serait de faire en python, le manipuler, et puis vidage de retour en JSON:
Le moyen le plus simple je pense est d'utiliser simplejson de serialze natif de python, de modifier le natif de python, et sérialiser retour JSON.
Bien, vous avez deux options. Soit utiliser des expressions régulières sur la chaîne ou de parser le JSON dans des objets Python, puis créer un nouvel attribut avec le
imageurl
de la valeur et de générer ensuite une autre chaîne JSON.