J'ai le texte JSON suivant. Comment puis-je l'analyser pour obtenir les valeurs de pageName
, pagePic
, post_id
etc.
{
"pageInfo": {
"pageName": "abc",
"pagePic": "http://example.com/content.jpg"
},
"posts": [
{
"post_id": "123456789012_123456789012",
"actor_id": "1234567890",
"picOfPersonWhoPosted": "http://example.com/photo.jpg",
"nameOfPersonWhoPosted": "Jane Doe",
"message": "Sounds cool. Can't wait to see it!",
"likesCount": "2",
"comments": [],
"timeOfPost": "1234567890"
}
]
}
2 votes
androidbeasts.wordpress.com/2015/08/04/json-parsing-tutorial : essayez ceci
10 votes
Les bibliothèques JSON intégrées à Java sont le moyen le plus rapide de le faire, mais selon mon expérience, GSON est la meilleure bibliothèque pour analyser un JSON dans un POJO sans douleur.
3 votes
Il existe de nombreuses bibliothèques notoires en java : jackson, gson, org.json, genson, etc. Pour en choisir une, il faut tenir compte de leurs performances relatives et de leur ensemble de fonctionnalités. Voici un benchmark réalisé avec JMH qui compare les performances des bibliothèques json les plus populaires en java : github.com/fabienrenaud/java-json-benchmark . Voir mon post ci-dessous pour plus d'informations.
2 votes
Utiliser Gson github.com/google/gson
31 votes
C'est la première question très votée et protégée dont les réponses m'ont paru les plus confuses
7 votes
@JaysonMinard est d'accord. Il a demandé l'intervention des mods. Cela devrait être fermé vraiment. J'ai d'abord supposé (à tort) que je ne pouvais pas le faire tant que la question était protégée, alors je l'ai déprotégée et j'ai fait mon truc. Je l'ai re-protégée maintenant pour éviter les réponses de mauvaise qualité et autres, en attendant l'intervention d'un mod.
5 votes
"Cette question ne montre aucun effort de recherche" -- Infobulle du bouton "Downvote" (vote négatif)
7 votes
Cette question est discuté sur Meta .
0 votes
@ImanAkbari Quelle bibliothèque JSON est intégrée ? J'ai trouvé Demande de spécification Java 353 mais cela ne fait que spécifier quels objets doivent exister, ce n'est pas une implémentation. Quelque chose de générique comme
org.json
est aussi une bibliothèque tierce (et non maintenue, semble-t-il). De quelles bibliothèques parlez-vous ?0 votes
Luc, vous avez raison, c'est ma faute. Je voulais dire
org.json
ils sont tous du troisième parti.7 votes
C'est étonnant que cette question ait des réponses aussi complexes. C'est vraiment symptomatique de l'environnement Java. Pratiquement tous les autres langages de la planète disposent d'un analyseur JSON intégré simple qui peut généralement être utilisé en appelant
JSON.parse(<string>)
(JS, Ruby, Python, Golang, voire C# et php). Seul Java s'y prend mal.0 votes
La plupart des gens confondent l'analyse syntaxique et la carte. Le mappage est vraiment facile, vous pouvez utiliser Gjson, Jackson et d'autres. Mais l'analyse syntaxique est une chose différente. Vous pouvez utiliser des reg exps et d'autres techniques complexes. Pour l'analyse syntaxique, j'opterais pour quelque chose comme JsonPath.