Exemple Python script renvoie un booléen si une chaîne est un json valide :
import json
def is_json(myjson):
try:
json_object = json.loads(myjson)
except ValueError as e:
return False
return True
Qui imprime :
print is_json("{}") #prints True
print is_json("{asdf}") #prints False
print is_json('{ "age":100}') #prints True
print is_json("{'age':100 }") #prints False
print is_json("{\"age\":100 }") #prints True
print is_json('{"age":100 }') #prints True
print is_json('{"foo":[5,6.8],"foo":"bar"}') #prints True
Convertit une chaîne JSON en un dictionnaire Python :
import json
mydict = json.loads('{"foo":"bar"}')
print(mydict['foo']) #prints bar
mylist = json.loads("[5,6,7]")
print(mylist)
[5, 6, 7]
Convertit un objet python en chaîne JSON :
foo = {}
foo['gummy'] = 'bear'
print(json.dumps(foo)) #prints {"gummy": "bear"}
Si vous voulez accéder à l'analyse syntaxique de bas niveau, n'en faites pas une, utilisez une bibliothèque existante : http://www.json.org/
Excellent tutoriel sur le module JSON de Python : https://pymotw.com/2/json/
Est String JSON et montre les erreurs de syntaxe et les messages d'erreur :
sudo cpan JSON::XS
echo '{"foo":[5,6.8],"foo":"bar" bar}' > myjson.json
json_xs -t none < myjson.json
Imprimés :
, or } expected while parsing object/hash, at character offset 28 (before "bar}
at /usr/local/bin/json_xs line 183, <STDIN> line 1.
json_xs
est capable de vérifier la syntaxe, d'analyser, de prendre en charge, d'encoder, de décoder et bien plus encore :
https://metacpan.org/pod/json_xs
3 votes
L'api doit définir le type de contenu
4 votes
Vous ne pouvez pas spécifier quelles données sont renvoyées dans l'appel API ? Je ne suis pas familier avec l'API de Facebook mais cela semble vraiment étrange.
0 votes
Je l'ai fait une fois, mais avec codegolf chemin
1 votes
La plupart des réponses sont des fichiers json, mais si vous appelez la photo de profil, elle ne renvoie que le fichier jpg.