Utilisation de la bibliothèque de chemin JSON java: https://github.com/json-path/JsonPathRetour Java JsonPath comme une chaîne JSON
Étant donné un JSON comme celui-ci
{
"store": {
"book": [
{
"category": "reference"
},
{
"category": "fiction"
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
},
"expensive": 10
}
Je voudrais revenir « livre » comme une liste de chaînes. Pour exemples:
List<String> results = JsonPath.read(example, "$.store.book[*]");
et les résultats devraient ressembler à:
["{\"category\":\"reference\"}", "{\"category\":\"fiction\"}"]
Yat-il un moyen d'y parvenir?
Actuellement:
System.out.println(udf.jsonExtractScalar(testExample, "$.store.book[*]").getClass().getName());
--> net.minidev.json.JSONArray
Quel est le problème? 'JSONArray' est un sous-type de' List', et dans ce cas arrive à contenir des chaînes. –
Comme le livre est un JsonArray dans votre arbre json, vous pouvez JsonArray tupe et récupérer les données de celui-ci et l'ajouter à la liste. –